😕

Flutter Play Consoleでの「デバッグ シンボルがアップロードされていません」という警告の対処 (→失敗時メモ)

2022/04/24に公開約2,800字

下記方法では失敗してしまったが、手動アップロードはできた。こちら参考。

Flutterで作成したappbundleをアップロードすると、以下の警告が出た。

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

という警告。対処しなくても問題はないが、よりデバッグしやすくした方がリリース後も助かるるだろうと思って対処したときの備忘録。

https://stackoverflow.com/questions/63373245/how-to-add-debug-symbols-to-build-gradle
に回答があったため参考にしている。

Play Consoleの詳細には、

と書いている。FULL指定だとサイズが大きくなるため、無くても良いと思われる。

Android Gradle プラグイン バージョン 4.1 以降かどうかで対応が変わるため、バージョンを確認しておく。andriod/build.gradleを確認する。7.0.2のため4.1以降の方法で良い。

buildscript {
    // 省略
    repositories {
        google()
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:7.0.2'
        //省略
    }
}

Android Studioにて、Preference/Appearance & Behavior/System Settings/Android SDKから、NDKとCMakeをインストール。


インストール後、右下のShow Package Detailsのチェックを入れて、NDKのバージョンをメモ。ここでは、"24.0.8215888"。

android/app/build.gradleに、ndkVerstionとdebugSymbolLevelを追記。

android {
   // 省略

   // for Play Console Debug Symbol
   ndkVersion "24.0.8215888"
   
   buildTypes {
       release {
           // 省略
           ndk {
               debugSymbolLevel 'SYMBOL_TABLE'
           }
       }
   }
}

確かに、公式の

android.buildTypes.release.ndk.debugSymbolLevel = { SYMBOL_TABLE | FULL }

の通りの階層になっていることを確認する。次のように、ndkの位置をミスしないこと。

release {
    //省略
}
ndk {
    debugSymbolLevel 'SYMBOL_TABLE'
}

最初、ミスをしていてflutter build appbundleで失敗してなぜかわからなかった。次のエラーが出ていた。

(base) % flutter build appbundle             

💪 Building with sound null safety 💪


FAILURE: Build failed with an exception.

* Where:
Build file 'android/app/build.gradle' line: 34

* What went wrong:
A problem occurred evaluating project ':app'.
> No signature of method: build_21a4608diqtqwnkn685w2tqu5.android() is applicable for argument types: (build_21a4608diqtqwnkn685w2tqu5$_run_closure2) values: [build_21a4608diqtqwnkn685w2tqu5$_run_closure2@38d4c7ed]

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

この後、flutter build appbundleで成功する。
念のため、flutter cleanしてからflutter build appbundleした方が良いかもしれない。

=> この後、もう1度Version codeを更新してPlay Consoleにaabファイルをアップロードしたが、同じ警告が出てしまった。。。他のブログでは成功していそうだったが。。

手動アップロードは成功した。続き

Discussion

ログインするとコメントできます