Android でクラッシュや ANR が発生すると、スタック トレースが生成されます。スタック トレースとは、クラッシュの時点までにプログラムで行われた関数呼び出しを順番にネストしたスナップショットです。このスナップショットは、ソース内の問題を特定して修正するのに役立ちます。
Java を使用したアプリやゲームの開発で、アプリの最適化と難読化に ProGuard を使用している場合、アプリの各バージョンに対応した ProGuard マッピング ファイルを Google Play Console にアップロードできます。ネイティブ コード(C++ など)を使って開発したアプリやゲームの場合は、アプリの各バージョンに対応したデバッグ シンボル ファイルを Google Play Console にアップロードできます。これにより、クラッシュや ANR の分析と修正が容易になります。
重要: Java でコンパイルされたアプリの難読化解除では、ReTrace に対応するマッピング ファイルのみがサポートされます。これは、ProGuard または R8 で使用されているものと同じ形式です。
ステップ 1: 難読化解除ファイルまたはシンボリケーション ファイルを生成する
特定のバージョンのアプリのクラッシュと ANR の難読化を解除(シンボリケート)するには、まず、同じバージョンのアプリで必要なファイルを生成する必要があります。難読化解除またはシンボリケーションを機能させるには、アプリの新しいバージョンごとにファイルを生成してアップロードする必要があります。
ステップ 2: 難読化解除ファイルまたはシンボリケーション ファイルをアップロードする
特定のバージョンのアプリのクラッシュと ANR の難読化を解除(シンボリケート)するには、アプリの各バージョンに対応する難読化解除ファイルまたはシンボリケーション ファイルをアップロードする必要があります。
重要: この手順は、デベロッパーが APK を使用する場合にのみ必要です。App Bundle と Android Gradle プラグイン バージョン 4.1 以降を使用している場合は、何もする必要はありません。難読化解除ファイルはバンドルから自動的に取得されます。ステップ 3: 難読化が解除されたクラッシュのスタック トレースを表示するに進んでください。App Bundle について詳しくは、Android デベロッパー サイトをご覧ください。
ステップ 3: 難読化が解除されたクラッシュのスタック トレースを表示する
アプリのバージョンに対応する ProGuard マッピング ファイルまたはデバッグ シンボル ファイルをアップロードすると、その後に発生するクラッシュや ANR は難読化が解除されます。アプリの [クラッシュと ANR] ページで、個々のクラッシュと ANR について難読化が解除されたスタック トレースを確認できます。
- Google Play Console を開きます。
- アプリを選択します。
- 左側のメニューで [モニタリングと改善] > [Android Vitals] > [クラッシュと ANR] を選択します。
- クラッシュを選択します。
- [スタック トレース] に、難読化が解除(シンボリケート)されたスタック トレースが表示されます。
重要: アプリのバージョンに対応するマッピング ファイルをアップロードすると、そのバージョンのアプリでそれ以降に発生するクラッシュと ANR についてのみ、難読化が解除されます。そのバージョンのアプリで、対応するマッピング ファイルをアップロードする前に発生したクラッシュと ANR については、難読化が解除されません。