Lors de l'exécution de flutter build appbundle
, J'obtiens l'erreur suivante: la génération de Gradle n'a pas pu produire un package Android.
Lors de l'exécution en mode verbeux, voici ce que j'obtiens également:
#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)
Je suis sur le canal stable Flutter v1.2.1.
Je peux cependant créer un apk sans problème. Je peux également créer un appbundle à partir d'un autre projet Flutter.
Sur la base des messages d'erreur ci-dessus, comment pourriez-vous commencer à trouver le problème? Quel pourrait être le problème ici?
Pour moi, j'avais signatureConfig signatureConfigs.debug ligne manquante dans ma version de configuration du fichier build.gradle
De l'application. Mais l'erreur que j'obtenais est la même "La construction de Gradle n'a pas réussi à produire un paquet Android".
Android {
...
buildTypes {
release {
signingConfig signingConfigs.debug
...
}
}
}
Pour moi, changer ma version gradle comme la ligne suivante a résolu le problème. (J'utilisais une version supérieure)
Android/build.gradle
dependencies {
classpath 'com.Android.tools.build:gradle:3.3.0'
}
Dans mon cas, j'ai ajouté une saveur à mon projet et j'ai oublié d'ajouter le nom de la saveur à la configuration Run/Debug.
Voici mon senario:
J'utilise une machine distante de CI pour signer apk avec release sign config. J'ai donc supprimé buildTypes.release.signConfig
dans build.gradle
comme ça:
buildTypes {
release {
// signingConfig signingConfigs.release
minifyEnabled true
useProguard true
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
}
Cela fait que le nom de l'apk de sortie change en app-release-unsigned.apk
mais flutter attend app-release.apk
, qui conduit à Gradle build failed to produce an Android bundle package.
Après avoir ajouté signingConfig signingConfigs.release
retour le problème a été résolu.
Pour moi, la migration vers AndroidX a tout résolu:
https://flutter.dev/docs/development/packages-and-plugins/androidx-compatibility