概要
Unity でAndroid 向けにビルドするときに自分が困ったポイント集です。
随時更新していきます。過去の自分に向けて書いてます。
間違っていたらご指摘くださると助かります。
難読化解除ファイル/ デバッグ シンボル/ シンボル ファイル
なんやかんやあって、PlayConsoleにアップロードできるところまで行ったとします。
そのとき、下記のようなメッセージが表示されます。
警告
この App Bundle に含まれている Java / Kotlin コードは難読化されている可能性があります。クラッシュや ANR を簡単に分析、デバッグできるよう、難読化解除ファイルをアップロードすることをおすすめします。詳細
警告
この App Bundle にはネイティブ コードが含まれ、デバッグ シンボルがアップロードされていません。クラッシュや ANR を簡単に分析、デバッグできるよう、シンボル ファイルをアップロードすることをおすすめします。詳細
難読化解除ファイル→これが、「ReTraceマッピングファイル」らしいです。
デバッグシンボル=シンボルファイルが、「ネイティブ・デバッグ・シンボル」らしいです。
これは、ユーザーが使用中に起きた問題をPlayConsole上でグラフ化するために必要な設定です。
「Unityでビルドした時に暗号化されるので、C#としてどこでエラーが起きてるのか分かりません。」的なことを言っています。
そこで、PlayConsole君のために、暗号解読のヒントをZIPファイルで渡してあげます。
そのための設定が下記の画像です。
特に、Create Symbol.zip
という部分が重要です。
-keep class android.support.v4.content.** {
*;
}
-keep public class com.google.android.gms.ads.** {
public *;
}
-keep public class com.google.ads.** {
public *;
}
-keep class com.google.unity.** {
public *;
}
-keep class android.support.v4.content.** {
*;
}
Your native debug symbols are too large
前述のZIPファイルをアップロードするときにファイルが大きいといわれます。
Your native debug symbols are too large (413.56 MB). Must be 300 MB or smaller.
そこで、ZIPを解凍して再圧縮します。
すると急にサイズが小さくなります。
圧縮アプリは7zipを使っています。
グローバルスタンダードな7zipはお勧めです。
Only Android ABIs are supported
ネイティブ デバッグ シンボルのアップロードにて
The native debug symbols contain an invalid directory fighterx-0.1-v1.symbols. Only Android ABIs are supported.
ARMv7を外し、
ARM64にチェックを入れる
64bit化が必須になるそうです。
https://android-developers.googleblog.com/2017/12/improving-app-security-and-performance.html
プロジェクト名-バージョン番号-ビルド番号.symbols.zip
を解凍する。
arm64-v8a
というフォルダが入っているので、これを圧縮し、arm64-v8a.zip
にする。で、アップロード。
環境
Unity 2019 LTS
Excelsior!