5
votes

Android et Gradle utilisent un ancien keystore non existant lors de la signature de l'application

J'ai essayé de signer ma nouvelle application Android en utilisant les données d'un ancien keystore nommé "keystore.keystore" . Il n'a pas pu récupérer la clé, j'ai donc supprimé ce fichier de clés du disque et en ai créé un nouveau, nommé "keystore.jks" .

Ensuite, j'ai ajouté ce qui suit à build.gradle, en suivant le guide de la page https://developer.android.com/studio/build/build-variants#signing :

signingConfigs {
    release {
        storeFile file("C:\\SomeDirectory\\keystore.jks")
        storePassword "mypassword123"
        keyAlias "key"
        keyPassword "mypassword123"
    }
}

buildTypes {
    release {
        signingConfig signingConfigs.release
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }
}

Ensuite, je suis allé à l'option de menu Construire / Générer un bundle signé / APK dans Android Studio. Il n'a pas sélectionné d'informations sur le keystore, la clé ou l'alias dans le fichier build.gradle ci-dessus, je l'ai donc saisi à nouveau manuellement dans la fenêtre de dialogue.

Après avoir appuyé sur Suivant, la tâche s'est terminée avec l'erreur suivante:

"C: \ SomeDirectory \ keystore.keystore (Le système ne trouve pas le fichier spécifié) ".

Remarquez le nom du keystore, c'est l'ancien nom. D'où vient-il ???

J'ai donc ouvert cmd.exe et j'ai lancé ceci: "gradlew.bat assembleRelease". Une erreur similaire s'est produite:

Tâche: app: packageRelease FAILED ÉCHEC: la construction a échoué avec une exception. * Qu'est ce qui ne s'est pas bien passé: L’exécution a échoué pour la tâche «: app: packageRelease». java.io.FileNotFoundException: C: \ SomeDirectory \ keystore.keystore (Le système ne trouve pas le fichier spécifié)

L'invalidation des caches / le redémarrage n'aide pas.

Pourquoi gradle fait-il référence à l'ancien nom du keystore, comment le faire utiliser le nouveau keystore?


1 commentaires

Non, il génère la même erreur.


4 Réponses :


-1
votes

J'ai eu exactement le même problème. Un projet Android Studio Clean et un redémarrage résolvent le problème pour moi.


0 commentaires

2
votes

gradlew clean fera en sorte que gradle utilise le nouveau


1 commentaires

Bienvenue sur Stack Overflow et merci pour votre contribution! Votre réponse est assez courte et a plus le caractère d'un commentaire. Veuillez lire notre guide Comment rédiger une bonne réponse et essayer d'améliorer la vôtre. Merci!



2
votes

J'ai rencontré le même problème aujourd'hui.

Ce qui a fonctionné pour moi, c'est de supprimer le fichier app / build / intermediates / signature_config / release / out / signature-config.json entre les versions (je ne sais pas pourquoi cela fonctionne).

/ p>


0 commentaires

0
votes

Si vous utilisez un MAC ~ / Users / [username] /. gradle / gradle.properties doit également être modifié


0 commentaires