web-dev-qa-db-fra.com

android Bundlerelaleasee ne signera pas le AAB

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?

8
tbeernot

Vous pouvez utiliser ./gradlew :app:bundleRelease à la place de ./gradlew bundleRelease

Ça marche pour moi!

0
TimLu

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.

0
inder_gt