Flutter Play Consoleでの「デバッグ シンボルがアップロードされていません」という警告の対処 (→失敗時メモ)
下記方法では失敗してしまったが、手動アップロードはできた。こちら参考。
Flutterで作成したappbundleをアップロードすると、以下の警告が出た。
この App Bundle にはネイティブ コードが含まれ、デバッグ シンボルがアップロードされていません。クラッシュや ANR を簡単に分析、デバッグできるよう、シンボル ファイルをアップロードすることをおすすめします。
という警告。対処しなくても問題はないが、よりデバッグしやすくした方がリリース後も助かるるだろうと思って対処したときの備忘録。
に回答があったため参考にしている。
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
こちらはFlutterのissueに上がってましたが、gradleのバージョンが4.2.0以上だと発生する問題のようです。
gradleを4.1.3以下のバージョンにダウングレードするか、解決編の方法で手動でGoogle playにアップロードするほかなさそうですね。