実行中flutter build appbundle
次のエラーが発生します:GradleビルドでAndroidバンドルパッケージを作成できませんでした。
冗長モードで実行しているとき、これは私がさらに得るものです:
#0 throwToolExit (package:flutter_tools/src/base/common.Dart:24:3)
#1 _buildGradleProjectV2 (package:flutter_tools/src/Android/gradle.Dart:585:7)
<asynchronous suspension>
#2 buildGradleProject (package:flutter_tools/src/Android/gradle.Dart:331:14)
<asynchronous suspension>
#3 buildAppBundle (package:flutter_tools/src/Android/app_bundle.Dart:43:10)
<asynchronous suspension>
#4 BuildAppBundleCommand.runCommand (package:flutter_tools/src/commands/build_appbundle.Dart:43:11)
<asynchronous suspension>
#5 FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.Dart:545:18)
#6 _asyncThenWrapperHelper.<anonymous closure> (Dart:async/runtime/libasync_patch.Dart:77:64)
#7 _rootRunUnary (Dart:async/zone.Dart:1132:38)
#8 _CustomZone.runUnary (Dart:async/zone.Dart:1029:19)
#9 _FutureListener.handleValue (Dart:async/future_impl.Dart:126:18)
#10 Future._propagateToListeners.handleValueCallback (Dart:async/future_impl.Dart:639:45)
#11 Future._propagateToListeners (Dart:async/future_impl.Dart:668:32)
#12 Future._complete (Dart:async/future_impl.Dart:473:7)
#13 _SyncCompleter.complete (Dart:async/future_impl.Dart:51:12)
#14 _AsyncAwaitCompleter.complete.<anonymous closure> (Dart:async/runtime/libasync_patch.Dart:33:20)
#15 _rootRun (Dart:async/zone.Dart:1124:13)
#16 _CustomZone.run (Dart:async/zone.Dart:1021:19)
#17 _CustomZone.bindCallback.<anonymous closure> (Dart:async/zone.Dart:947:23)
#18 _microtaskLoop (Dart:async/schedule_microtask.Dart:41:21)
#19 _startMicrotaskLoop (Dart:async/schedule_microtask.Dart:50:5)
#20 _runPendingImmediateCallback (Dart:isolate/runtime/libisolate_patch.Dart:115:13)
#21 _RawReceivePortImpl._handleMessage (Dart:isolate/runtime/libisolate_patch.Dart:172:5)
Flutterの安定したチャネルv1.2.1を使用しています。
問題なくAPKを作成できます。別のFlutterプロジェクトからappbundleをビルドすることもできます。
上記のエラーメッセージに基づいて、どのように問題を見つけ始めますか?ここの問題は何でしょうか?
私の場合、アプリのbuild.gradle
ファイルのリリース構成にsigningConfig signingConfigs.debug行がありませんでした。しかし、私が得ていたエラーは同じです「GradleビルドがAndroidバンドルパッケージを生成できませんでした」。
Android {
...
buildTypes {
release {
signingConfig signingConfigs.debug
...
}
}
}
私にとっては、次のようにgradleのバージョンを変更すると問題が解決しました。 (私はより高いバージョンを使用していました)
Android/build.gradle
dependencies {
classpath 'com.Android.tools.build:gradle:3.3.0'
}
私の場合、プロジェクトにフレーバーを追加し、実行/デバッグ構成にフレーバー名を追加するのを忘れていました。
これが私のシナリオです:
CIからのリモートマシンを使用して、リリース署名構成でAPKに署名しています。そこで、buildTypes.release.signConfig
のbuild.gradle
を次のように削除しました。
buildTypes {
release {
// signingConfig signingConfigs.release
minifyEnabled true
useProguard true
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
}
これにより、出力apkの名前がapp-release-unsigned.apk
に変更されますが、flutterはapp-release.apk
を想定しているため、Gradle build failed to produce an Android bundle package.
になります。
signingConfig signingConfigs.release
を追加した後、問題は解決されました。
私にとって、AndroidXへの移行によりすべてが修正されました。
https://flutter.dev/docs/development/packages-and-plugins/androidx-compatibility