Cocos2d-xはじめにFirebaseをAndroidに追加するときに思ったのですが、Cocos2d-xのAndroid環境は本当に地獄ですね...少しGradleやCMakeist.txtを編集するとフルビルドになってCocos2d-x丸ごとリコンパイルになって時間がすごくかかります。前に、3.17でcmakeが推奨だからndk-buildを使用していたlib-genが削除され、3.17.1でエレガントじゃないと割とふんわりした理由で代案が無いのにcmakeのプレビルドまでも削除されてしまいました。(CocosStudioを削除した頃からの伝統なのかCocos開発チームのこういう姿勢は本当にやばいですね)このIssueです。3.17.1以降のAndroidでは事前にビルド済みのスタティックライブラリが簡単には利用できなくなっています。Cocos2d-xのフルビルドって1アーキテクチャ当たり約10分弱もかかるので少し編集して動きを見てデバッグという作業方法が非常に取りにくいのでこれを改善したいと思います。その1:かなりセンシティブな内容のため修正を誤るとビルドができなくなります。変更する前にファイルはあらかじめバックアップしましょう。ADV(API29))で動作するところまでは確認しましたが個々人で事情(リンクしてるライブラリ)が大きく異なるため動かないケースがありますがご了承ください。その2:あくまでデバッグ中の話なのでリリースするapkを作成する場合フルビルドをしてパッケージ化するようにしてください。紹介の内容で動作の完全性は保証できません。3.17.1で公式の動作する最大のバージョンだと思います。r20事前準備まずは、以下手順でスタティックライブラリを作成します。手作業になるので各自準備を行います。新しいプロジェクトを作成するcocosコンソールから新しいプロジェクトを作成します。ビルドに使うだけなので適当でよいです。ビルドするアーキテクチャを選択する以下の手順でビルドするCPUアーキテクチャの種類を指定します。作成したプロジェクトの"proj.android"をAndroidStudioで開きます。次に、gradle.propertiesの"PROP_APP_API"を以下の通り変更します。最初はビルドバリアントがdebugになっていると思うので、完了したらreleseもビルドするここが最高に時間がかかるのでボタンを押したらお茶でもして完了するのを待ちます。作成したライブラリを所定のフォルダに移動する以下フォルダにある以下のファイルを自分のプロジェクトにコピーします。"x86"自分のプロジェクトに以下構成で配置します。Release.android.arm64-v8a/libcocos2d.a大文字と小文字を区別する可能性があるので打ち間違えないようにしてください。自分のプロジェクトを変更する次に自分のアプリのプロジェクトにスタティックライブラリを使用する設定をしていきます。プレビルドオプションを追加アプリのgradle.gradleのcmakeに以下引数を追加します。}}USE_COCOS_PREBUILT変数を追加して"ON"なら先ほど追加したライブラリを使用、"OFF"ならフルビルドという指定ができるようにします。Makeファイルの修正プロジェクトのルートにあるCMakeList.txtに以下内容を追記します。以下記述を追加します。先頭にある以下個所を書き換えます。pre-built2か所目:中ほどより下にある以下個所に内容を追加します。pre-builtこれで完了です。すると、自分のコードとexternal以下のビルドが走りビルドステップが600程度削減され、ビルド時間が1アーキテクチャ当たり10分から3分に短縮されると思います。external以下もstatic化できたらいいのですがメンテがコード量が多くる&作るのがかなり面倒そうだったので対象除外しています。だれかどうにかしてください。一応ここにできるといってる人が居るっぽいです。解読するのに結構かかりそうなので力尽きました。IMPORTEDターゲット以上です。»Profile受託ソフト会社員でWin系業務屋。趣味でCocos2d-x/C++を触っています。etc...主に受託・開発ネタ、Windowsの事、Srellaris、ゲーム制作の進捗の事を喋ります。4.0がリリースされたみたいCocos2d-xをやめてUnityに移行した話@2019冬C#のDateTimeとC++のtime_tを相互変換するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。