2018-10-18に更新

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

ツイッターでシェア
みんなに共有、忘れないようにメモ

だら@Crieit開発者

Crieitの開発者です。 Webエンジニアです(在宅)。大体10年ちょい。 記事でわかりにくいところがあればDMで質問していただくか、案件発注してください。 業務依頼、同業種の方からのコンタクトなどお気軽にご連絡ください。 業務経験有:PHP, MySQL, Laravel, React, Flutter, Vue.js, Node, RoR 趣味:Elixir, Phoenix, Nuxt, Express, GCP, AWS等色々 PHPフレームワークちいたんの作者

Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

有料記事を販売できるようになりました!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?

コメント