一人もくもく会 α verでサービス開始しました。

cocos2d-jsでandroid実機確認できるまでの流れ

cocos2dx-jsでandroidにapkインストールして確認できるところまでを進めた。
自分の知識が足りなすぎるせいだとは思うが全然スムーズには行かず大変だった。
必要な設定が全部連動していなかったり、
cocos2dxやcocos studio等のバージョン同士がうまく連動していなかったりと、
きっちり理解していかないとちゃんと動かせないところが
Unityとは違ってめんどくさすぎる。
まだ開発できるレベルのシステムではないのかと疑ってしまう。
…がまあ無料なので仕方がないか。

とりあえず現段階での方法なのでバージョンなど変わっていくとまた違ってくると思う。

デバッグの種類

下記のデバッグ方法によって、全部挙動が違う。
そのためちゃんと動くかどうか実機で確認が一番重要。

・Cocos Code IDEでPCデバッグ
exeファイルと連動してのデバッグとなる。
そのため実際のリリース環境とは動作が違っていたりする。

・Cocos Code IDEで実機デバッグ
専用アプリと連動してのデバッグとなる。
そのため実際のリリース環境とは動作が違っていたりする。

コマンドラインからPCデバッグ
サーバーを起動して実際のjsで動作。
これでちゃんと確認する必要があると思う。

コマンドラインから実機デバッグ
apkファイルをビルドしてインストールして確認。
これでちゃんと確認する必要があると思う。

上記の通り、コマンドラインで確認することが重要。
全部準備出来て安心できたらCocos Code IDEでぱぱっと動作確認しつつ
進めていけば早いと思う。

実機デバッグの方法

IDEを使わないデバッグで苦戦したのがandroid実機デバッグ
この場合だけ起動した瞬間に強制終了してしまっていた。
エミュレータでは動作した。

ネットを参考に、下記を行ったところ上手く動作するようになった。
まずビルドの前に下記のファイルを設定。
(本当に必要かどうかは不明…)

・cocos studioのデータを使う場合
project.json
"modules" : ["cocos2d","extensions"],
のようにextensionsを追加。

・frameworks/runtime-src/proj.android/jni/Application.mk
に下記の行を追加
APP_PLATFORM := android-9
(AndroidManifest.xmlと多分合わせる。これが強制終了した一番の原因だったと思う)
APP_ABI := armeabi armeabi-v7a x86

デバッグコマンドは
cocos run -p android
リリース用コンパイル
cocos compile -p android -m release

.keystoreはjdkのkeytoolで作った。
AndroidStudioも試したがなんかだめだった。
リリースビルドしようとしてkeystoreのせいでダメだった時は
frameworks/runtime-src/proj.android/ant.properties
を削除すればいい。


リソースの扱い方については一応下記も参考になるかもしれない。
http://program.alphabrend.com/?p=480