0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Google Play Consoleの「デバッグシンボルがありません」を解決する

0
Last updated at Posted at 2026-06-13

はじめに

Androidアプリをリリース・アップデートしようとした際、Google Play Console上で以下のワーニングが表示されたことはないでしょうか?

本記事では、Android App Bundle(.aab ファイル)にデバッグシンボルを含めるように設定し、この警告を解決する方法を紹介します。

This App Bundle contains native code, and you've not uploaded debug symbols. We recommend you upload a symbol file to make your crashes and ANRs easier to analyze and debug.

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

Google Play Consoleに表示されるデバッグシンボル欠如の警告

デバッグシンボルとは何か?

ソースコードをコンパイルしてバイナリ(マシン語)を作成する過程で、ファイルサイズの削減や最適化等により、変数名や関数名のようなソースコードの情報(デバッグ情報)が削除されます。

デバッグシンボルとは、このバイナリとソースコードを紐づけるためのマッピングデータです。

これがないと、そのバイナリ内での処理中にクラッシュが発生した際に、Play Console上からはどのようなエラーが起きたかの特定が困難になります。

NDKをインストールする方法

まずは事前準備として、以下の手順によりAndroid StudioでNDKをインストールしておきます。

  1. メニューからTools > SDK Managerを選択する
  2. SDK Toolsタブを開き、Show Package Detailsにチェックを入れる
  3. インストールしたいNDKのバージョンにチェックを入れる
  4. Applyする

Android StudioのSDK ManagerでのNDKインストール手順

必要な設定

NDKの用意ができたら、以下のように app/build.gradle.ktsndkVersiondebugSymbolLevel1 を設定することで、ビルドされる .aab ファイル内にデバッグシンボルが同梱されるようになります。

注意するべき点として、ndkVersion の明示的な指定が必要です。debugSymbolLevel だけを設定した場合、ビルド時にデバッグシンボル自体は生成されるものの、.aab には含まれませんでした。

android {
    ndkVersion = "27.3.13750724" // 執筆時点での最新LTSバージョン

    buildTypes {
        release {
            ndk.debugSymbolLevel = "FULL" // もしくは "SYMBOL_TABLE"
        }
    }
}

成功の確認方法

リリースビルドにて生成された .aab ファイルの拡張子を .zip に変更し解凍すると、 BUNDLE-METADATA/com.android.tools.build.debugsymbols が含まれているはずです。

実際にこの .aab ファイルをPlay Consoleにアップロードしてみましょう。警告が消えるだけでなく、App BundleのDownloadsタブを確認すると、AssetsにNative debug symbolsが追加されています。

Google Play ConsoleのApp Bundle詳細画面でNative debug symbolsが追加された

まとめ

  • デバッグシンボルはクラッシュやANRの調査・分析に役に立つデータ
  • .aab にデバッグシンボルを同梱するには、app/build.gradle.ktsndkVersionndk.debugSymbolLevel を設定する

参考文献

  1. debugSymbolLevel には "SYMBOL_TABLE" も指定可能ですが、Play Consoleでの詳細な解析には、関数名だけでなく詳細な行番号情報なども保持する "FULL" の指定が推奨されています。ただし、"FULL" を指定すると .aab のファイルサイズが "SYMBOL_TABLE" よりも大きくなります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?