Cocos Creator(v2.0.2)でプロジェクトを新規作成して適当なシーンでAndroid実機での配置を確認したところ、Android Studio(v3.1.3)開いたらいきなり読み込み失敗です。
以下のようなエラーが出ました。
path may not be null or empty string. path=''
結論から言うと、Cocos Creatorのメニューから「Project」⇒「Build…」を選び、出てきたポップアップ中の「Platform」を「Android」にして、各種設定を調整した上でビルドすれば解決です。
特にここの「Keystore」のところ、「Use Debug Keystore」にチェック入れることが今回のポイントになります。
もちろん本番パッケージをビルドする際には本番用のKeystoreを入れる必要があります。
Cocos CreatorからiOSだけビルドしても、下記のところにAndroidなど他のプラットフォームのプロジェクトもが生成されます。
プロジェクトルート/build/jsb-link/frameworks/runtime-src
私はまずiOSの動作を確認したので、Androidのプロジェクトが既に作成されてると思い込んだことが今回の原因です。
実際ファイルがそこにありますからね。^^;
Android Studioでプロジェクトを読み込む時の詳細ログを見てみると、ここで引っかかったようです。
at build_bf37h7qx9z4mihhuyxuow3w4l$_run_closure1.doCall(プロジェクトルート/build/jsb-link/frameworks/runtime-src/proj.android-studio/app/build.gradle:56)
実際そのファイルの56行あたりはこんな感じです。
signingConfigs { # <=56行はここ release { if (project.hasProperty("RELEASE_STORE_FILE")) { storeFile file(RELEASE_STORE_FILE) storePassword RELEASE_STORE_PASSWORD keyAlias RELEASE_KEY_ALIAS keyPassword RELEASE_KEY_PASSWORD } } }
故にプロジェクトルート/build/jsb-link/frameworks/runtime-src/proj.android-studio/gradle.propertiesの下記の設定に辿り着きました。
RELEASE_STORE_FILE= RELEASE_STORE_PASSWORD= RELEASE_KEY_ALIAS= RELEASE_KEY_PASSWORD=
Keystoreの設定がないんですね。
まだデバッグなのに、空でダメなの?と思いながらも設定してみました。
ところでここを正しいパスやパスワードを設定しても、また別のエラーで読み込むことができませんでした。
これは何かが違う!!
このゲームエンジンの人気が落ちたとは言え、一応それなりの人数が使ってるはずだから、こんなにいい加減なはずがないと思い、やっと冒頭のやり方に辿り着いた訳です。
そしてそのようなキーワードで検索しても、それらしい答えが見つからなかったので、ここでまとめてみました。
Cocos CreatorのビルドもUnityのように、選択したプラットフォームのみ出力したほうが良くないんですかね?!