環境
- Windows10 (Fall Creators Update)
- Surface Pro (2017年モデル)
- Android Studio 3.1
- cocos2d-x 3.16
発生した問題達
原因が特定出来ていない物もあるけど時系列で発生した内容と回避策をメモ。
ビルド時にエラーが出る
- 以下、Android Studio上でのビルド及び、cocos compile コマンドの両方で同じ状態だった
- Android Studioでインストール出来るNDK(16.1)だと問題がある?模様
- Webで調べて動作実績があるNDK(r10e)を別ディレクトリに入れてそちらを使うように変更
- (2018/04/03追記) その後諸々確認した所、最新のNDK 16.1でも問題無かったようです。後述のパス名が長すぎる件及び、ABIとしてx86が無かったことが原因だったようです。
- NDK(r10e)でもJNI配下の〜main.o.d が見つからないというエラーが出る
- cocos2d-xのプロジェクトを配置していたパス名が長すぎた(70文字程度)模様
- c:¥cocos¥test みたいなディレクトリにプロジェクトを移動してビルドしたら解決した
- エラーログに表示されていたパスが妙に長かったので変更してみたら通った
Android Studioからの実行時にエラーが出る
- INSTALL_FAILED_NO_MATCHING_ABIS とのエラーが出る
- 自分が用意していたAVDのCPUがarm系ではなくx86系だった
- gradle.properties と Application.mk でABIに関する設定に"x86"を追加して再ビルド
AVD上で表示が真っ黒になる
- 起動したエミュレータ上で何も表示されない
- アプリ自体はちゃんとAVD上にデプロイされて実行されている模様
- ログにGLES_V2系のエラーが出ている
- AVDの「Graphincs」が「Automatic」か「Hardware - GLES2.0」だと発生する模様
- 「Software - GLES2.0」を選択すれば表示は出来るようになる(但し速度が全然出ない)
- Surface ProのGPUのせい?詳細は深追いしてない。
- Genymotionなら問題なく表示出来るようなのでAVDではなくそちらを利用した方が良さそう
- とは言え、やっぱりAndroid実機でUSBデバッグしてしまった方が速度とか諸々有利そう