Hint

アプリ開発 開発メモ

[Unity]最新版! Google Play Console の「難読化解除ファイル」と「デバッグ シンボル」の警告を消す方法

Google Play Consoleでアプリをリリースしようとすると、下記の警告が出ることがあります。
この警告を消す手順を掲載します。

アプリリリース時の警告

警告

この App Bundle に関連付けられている難読化解除ファイルはありません。難読化コード(R8 / ProGuard)を使用している場合、難読化解除ファイルをアップロードすると、クラッシュと ANR をより簡単に分析、デバッグできるようになります。R8 / ProGuard の使用は、アプリサイズの縮小につながります。詳細

警告

この App Bundle にはネイティブ コードが含まれ、デバッグ シンボルがアップロードされていません。クラッシュや ANR を簡単に分析、デバッグできるよう、シンボル ファイルをアップロードすることをおすすめします。詳細

Google Play Console

コードの難読化とは?

コードの難読化は、アプリケーションのコードを人間にとって読みにくい形式に変換するプロセスのことです。
これにより、アプリケーションのセキュリティが向上し、外部からの攻撃を受けにくくなることが期待できます。
また、コードの難読化により、アプリケーションのサイズが縮小され、パフォーマンスが向上することがあります。

ただし、いいことだけではありません。
読みにくいコードはメソッド名や変数名を変えることなどを指しますが、それによりプログラムがうまく動かなくなることもあります。
デバッグ環境だと動くのに、リリースしたら動かない…。なんてことが起こります。
これを防ぐためには、プロガードファイルで除外設定をする必要があります(今回はあまり触れません)。

もう一つ困ったことが起こります。
難読化しているため、クラッシュやエラーが起こったときに原因の特定がしづらい、ということです。
「そういう状態のアプリをリリースしようとしているけど、いいの?もう少し情報をくれたら難読化解除して情報を提供するよ」というのが、
一つ目の警告の内容になります。

デバッグシンボルとは?

デバッグシンボルとは、コンパイルされたプログラムにおいて変数名や関数名などのシンボルを含む情報のことです。
これにより、クラッシュやエラーが発生した場合に、どの部分で問題が発生しているのかを特定することができます。
「シンボルがないと、エラーの原因を特定することが大変だよ?」というのが二つ目の警告の内容になります。

修正方法

mapping.txtファイルとsymbols.zipのファイルをアップロードすることで、それぞれの警告に対応することができます。
それぞれのファイルの作成方法を記載します。

mapping.txtファイルの作成方法

  • [編集]メニュー→[プロジェクト設定]で[Project Settings]を開く
  • [プレイヤーの設定]で、[公開設定]開く
  • [ファイル圧縮]の部分で[R8を使用]と「リリース」にチェックを付ける
mapping.txtの作成方法

symbols.zipファイルの作成方法

  1. [ファイル]メニュー→[ビルド設定]を開く
  2. [symbols.zipを作成]でデバッグを選択する
symbols.zipの作成方法

上記の設定でビルドをするとビルド成果物としてmapping.txtとsymbols.zipが作成されます。

作成されたファイル

Google Play Consoleへのアップロード方法

Google Play Consoleへのaabファイルのアップロードは通常と同じです。
aabファイルをアップロードした後、画面右にある三点リーダーをクリックすると、すでにmapping.txtがアップロードされていることも確認できます。
symbols.zipも[ネイティブ デバッグ シンボル(.zip)をアップロード]からアップロードできます。
これで次のステップに進んでも警告は出なくなります。

Google Play Console

アップロードの確認(ダウンロード)、削除、アップロード

アップロードしたファイルの確認や取り消し、やり直しは別の画面で行います。

  1. Google Play Consoleの左側のメニューで[App Bundle エクスプローラ]を選択
  2. 見たいバージョンのアプリを選択
  3. [ダウンロード]タブを選び、ファイルのダウンロード、削除、アップロードで操作する
App Bundleエクスプローラ
ファイルのダウンロード、削除、アップロード

まとめ

やりたいことはシンプルですが、Unityの最新版でどう操作するかに迷ったので、本記事を記載しました。
なお、mapping.txtとsymbols.zipはビルドの度再生成されるので、毎回同一バージョンをアップロードする必要があります。
アプリがクラッシュやエラーを起こしたときに適切な対応が取れるよう忘れずに行いましょう。


環境情報

Unity 2021.3.19f1

-アプリ開発, 開発メモ
-, ,