J'ai écrit un Android application, mais l'étape finale du processus de version me échappe toujours. Je suppose que lorsque j'exécute la balayale Bundlerelalease, il générera le fichier AAB que je peux télécharger dans la pièce. Store. Mais le magasin de jeu indique que le paquet n'est pas signé. Cependant, le processus de construction dit qu'il sait:
> Task :app:preBuild UP-TO-DATE
> Task :app:preReleaseBuild UP-TO-DATE
> Task :app:compileReleaseRenderscript NO-SOURCE
> Task :app:generateReleaseResValues UP-TO-DATE
> Task :app:generateReleaseResources UP-TO-DATE
> Task :app:mergeReleaseResources UP-TO-DATE
> Task :app:checkReleaseManifest UP-TO-DATE
> Task :app:createReleaseCompatibleScreenManifests UP-TO-DATE
> Task :app:mainApkListPersistenceRelease UP-TO-DATE
> Task :app:processReleaseManifest UP-TO-DATE
> Task :app:bundleReleaseResources UP-TO-DATE
> Task :app:checkReleaseDuplicateClasses UP-TO-DATE
> Task :app:mergeExtDexRelease UP-TO-DATE
> Task :app:compileReleaseAidl NO-SOURCE
> Task :app:generateReleaseBuildConfig UP-TO-DATE
> Task :app:prepareLintJar UP-TO-DATE
> Task :app:generateReleaseSources UP-TO-DATE
> Task :app:javaPreCompileRelease UP-TO-DATE
> Task :app:processReleaseResources UP-TO-DATE
> Task :app:compileReleaseJavaWithJavac UP-TO-DATE
> Task :app:transformClassesWithDexBuilderForRelease UP-TO-DATE
> Task :app:mergeDexRelease UP-TO-DATE
> Task :app:mergeReleaseShaders UP-TO-DATE
> Task :app:compileReleaseShaders UP-TO-DATE
> Task :app:generateReleaseAssets UP-TO-DATE
> Task :app:mergeReleaseAssets UP-TO-DATE
> Task :app:mergeReleaseJniLibFolders UP-TO-DATE
> Task :app:transformNativeLibsWithMergeJniLibsForRelease UP-TO-DATE
> Task :app:processReleaseJavaRes NO-SOURCE
> Task :app:transformResourcesWithMergeJavaResForRelease UP-TO-DATE
> Task :app:buildReleasePreBundle UP-TO-DATE
> Task :app:collectReleaseDependencies UP-TO-DATE
> Task :app:configureReleaseDependencies UP-TO-DATE
> Task :app:packageReleaseBundle UP-TO-DATE
> Task :app:signingConfigWriterRelease UP-TO-DATE
> Task :app:signReleaseBundle
> Task :app:bundleRelease
Il existe une section de signature dans le script de génération de grades:
Android {
...
signingConfigs {
release {
storeFile file(...)
storePassword '...'
keyAlias '...'
keyPassword '...'
}
}
Si je supprime tous les fichiers AAB avant d'exécuter la version, une application est générée dans
..\app\build\outputs\bundle\release
Semble tout en ordre, sauf que le magasin de jeu n'acceptera pas l'AAB:
The Android App Bundle was not signed.
Comment puis-je construire un AAB libérable?
Vous pouvez utiliser ./gradlew :app:bundleRelease
à la place de ./gradlew bundleRelease
Ça marche pour moi!
J'ai eu un problème similaire où ma saveur était sédigée de manière incorrecte. J'avais la signature des valeurs par défaut spécifiées dans buildTypes
puis remplace dans productFlavors
.
buildTypes {
stage {
signingConfig ...
}
release {
signingConfig ...
}
}
productFlavors {
myFlavor {
signingConfig ...
}
En cours ./gradlew bundleMyFlavorStage
saisit la mauvaise signatureconfig de buildTypes.stage
Au lieu de la dérogation à la saveur du produit. Ma solution était de supprimer signingConfig
de buildTypes.stage
et buildTypes.release
et garder le remplacement dans le productFlavors
.