This translation is community contributed and may not be up to date. We only maintain the English version of the documentation. Read this manual in English
ここでは、Google の Android オペレーティングシステム向けの公式 IDE である Android Studio を使用して、ビルドをデバッグする方法を説明します。
game.project の android.debuggable オプションを設定して、バンドル(bundle)の準備をします。

デバッグモードでアプリのバンドルを作成し、任意のフォルダーに保存します。

Android Studio を起動します。
Profile or debug APK を選択します。

作成した apk バンドルを選択します。

メインの .so ファイルを選択し、デバッグシンボルが含まれていることを確認します。

含まれていない場合は、シンボルを削除していない .so ファイルをアップロードします。(サイズは約 20mb です)
パスマッピングを使うと、実行ファイルがビルドされた場所(クラウド内)の各パスを、ローカルドライブ上の実際のフォルダーに対応付けられます。
.so ファイルを選択し、ローカルドライブへのマッピングを追加します。


エンジンのソースコードにアクセスできる場合は、そのパスマッピングも追加します。
現在デバッグしているバージョンを必ずチェックアウトします。
defold$ git checkout 1.2.148
Apply changes をクリックします。
これで、マッピングされたソースコードがプロジェクトに表示されるはずです。

ブレークポイントを追加します。

Run -> Debug "Appname" を選択し、ブレークポイントで停止させたいコードを実行します。

これで、コールスタック内をステップ実行したり、変数を調べたりできます。
現在、ネイティブ拡張(native extension)の開発では、このワークフローに少し手間がかかります。これは、ジョブフォルダーの名前が ビルドごとにランダムになり、ビルドのたびにパスマッピングが無効になるためです。
ただし、1回のデバッグセッションでは問題なく機能します。
パスマッピングは、Android Studio プロジェクトの .iml ファイルに保存されます。
ジョブフォルダーは実行ファイルから取得できます。
$ arm-linux-androideabi-readelf --string-dump=.debug_str build/armv7-android/libdmengine.so | grep /job
ジョブフォルダーの名前は job1298751322870374150 のような形式で、毎回ランダムな数字が使われます。
Did you spot an error or do you have a suggestion? Please let us know on GitHub!
GITHUB