Ce guide est destiné aux développeurs qui ont déjà une application dans le Play Store. Si vous commencez avec une nouvelle application, le processus est beaucoup plus simple et vous pouvez suivre les instructions du paragraphe "Nouvelles applications" à partir d' ici
Prérequis que 99% des développeurs possèdent déjà :
Studio Android
JDK 8 et après l'installation, vous devez configurer une variable d'environnement dans votre espace utilisateur pour simplifier les commandes du terminal. Sous Windows x64, vous devez ajouter ceci: C:\Program Files\Java\{JDK_VERSION}\bin
à la Path
variable d'environnement. (Si vous ne savez pas comment faire cela, vous pouvez lire mon guide pour ajouter un dossier à la Path
variable d'environnement Windows 10 ).
Étape 0 : Ouvrez la console développeur de Google Play, puis accédez à Gestion des versions -> Signature d'application .
Acceptez les conditions de signature d'application.
Étape 1 : Téléchargez l'outil PEPK en cliquant sur le bouton identique à l'image ci-dessous
Étape 2 : Ouvrez un terminal et tapez:
java -jar PATH_TO_PEPK --keystore = PATH_TO_KEYSTORE --alias = ALIAS_YOU_USE_TO_SIGN_APK --output = PATH_TO_OUTPUT_FILE --encryptionkey = GOOGLE_ENCRYPTION_KEY
Légende:
- PATH_TO_PEPK = Le chemin vers le pepk.jar que vous avez téléchargé à l' étape 1 , pourrait être quelque chose comme
C:\Users\YourName\Downloads\pepk.jar
pour les utilisateurs Windows.
- PATH_TO_KEYSTORE = Chemin vers le keystore que vous utilisez pour signer votre version APK. Il peut s'agir d'un fichier de type * .keystore ou * .jks ou sans extension. Quelque chose comme
C:\Android\mykeystore
ou C:\Android\mykeystore.keystore
etc ...
- ALIAS_YOU_USE_TO_SIGN_APK = Le nom de l'alias que vous utilisez pour signer l'APK de la version.
- PATH_TO_OUTPUT_FILE = Le chemin du fichier de sortie avec l'extension .pem, quelque chose comme
C:\Android\private_key.pem
- GOOGLE_ENCRYPTION_KEY = Cette clé de chiffrement doit être toujours la même. Vous pouvez le trouver sur la page Signature d'application, le copier et le coller. Devrait être sous cette forme:
eb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a104a3bbe4ac5a955f4ba4fe93fc8cef27558a3eb9d2a529a2092761fb833b656cd48b9de6a
Exemple:
java -jar "C: \ Users \ YourName \ Downloads \ pepk.jar" --keystore = "C: \ Android \ mykeystore" --alias = myalias --output = "C: \ Android \ private_key.pem" - encryptionkey = eb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a104a3bbe4ac5a955f4ba4fe93fc8cef27558a3eb9d2a529a2092761fb833b656cd48b92761fb833b656cd48b9
Appuyez sur Entrée et vous devrez fournir dans l'ordre:
- Le mot de passe du keystore
- Le mot de passe alias
Si tout s'est bien passé, vous aurez maintenant un fichier dans le dossier PATH_TO_OUTPUT_FILE appelé private_key.pem
.
Étape 3 : Téléchargez le fichier private_key.pem en cliquant sur le bouton identique à l'image ci-dessous
Étape 4 : Créez un nouveau fichier de clés à l'aide d'Android Studio.
VOUS AUREZ BESOIN DE CE KEYSTORE À L'AVENIR POUR SIGNER LES PROCHAINES VERSIONS DE VOTRE APP, N'OUBLIEZ PAS LES MOTS DE PASSE
Ouvrez l'un de vos projets Android (choisissez-en un au hasard). Allez dans Build -> Generate Signed APK et appuyez sur Create new .
Maintenant, vous devez remplir les champs obligatoires.
Le chemin du magasin de clés représente le nouveau keystore que vous allez créer, choisissez un dossier et un nom à l'aide de l'icône à 3 points à droite, j'ai C:\Android\upload_key.jks
choisi (l'extension .jks sera ajoutée automatiquement)
REMARQUE: j'ai utilisé upload
comme nouveau nom d'alias, mais si vous avez précédemment utilisé le même magasin de clés avec différents alias pour signer différentes applications, vous devez choisir le même nom d'alias que vous aviez précédemment dans le magasin de clés d'origine.
Appuyez sur OK lorsque vous avez terminé, et vous aurez maintenant un nouveau upload_key.jks
fichier de clés. Vous pouvez fermer Android Studio maintenant.
Étape 5 : Nous devons extraire le certificat de téléchargement du upload_key.jks
keystore nouvellement créé . Ouvrez un terminal et tapez:
keytool -export -rfc -keystore UPLOAD_KEYSTORE_PATH -alias UPLOAD_KEYSTORE_ALIAS -file PATH_TO_OUTPUT_FILE
Légende:
- UPLOAD_KEYSTORE_PATH = Le chemin du keystore de téléchargement que vous venez de créer. Dans ce cas était
C:\Android\upload_key.jks
.
- UPLOAD_KEYSTORE_ALIAS = Le nouvel alias associé au fichier de clés de téléchargement. Dans ce cas était
upload
.
- PATH_TO_OUTPUT_FILE = Le chemin vers le fichier de sortie avec l'extension .pem. Quelque chose comme
C:\Android\upload_key_public_certificate.pem
.
Exemple:
keytool -export -rfc -keystore "C: \ Android \ upload_key.jks" -alias upload -file "C: \ Android \ upload_key_public_certificate.pem"
Appuyez sur Entrée et vous devrez fournir le mot de passe du fichier de clés.
Maintenant, si tout s'est bien passé, vous aurez un fichier dans le dossier PATH_TO_OUTPUT_FILE appelé upload_key_public_certificate.pem
.
Étape 6 : Téléchargez le upload_key_public_certificate.pem
fichier en cliquant sur le bouton identique à l'image ci-dessous
Étape 7 : Cliquez sur le bouton INSCRIPTION à la fin de la page de signature d'application.
Désormais, chaque nouvelle version d'APK doit être signée avec le fichier de upload_key.jks
clés et les alias créés à l' étape 4 , avant d'être téléchargés dans la console développeur de Google Play.
Plus de ressources:
Questions et réponses
Q: Lorsque je télécharge l'APK signé avec le nouveau fichier de clés upload_key, Google Play affiche une erreur du type: Vous avez téléchargé un APK non signé. Vous devez créer un APK signé .
R: Cochez pour signer l'APK avec les deux signatures (V1 et V2) lors de la création de l'APK de la version. Lisez ici pour plus de détails.
ACTUALISÉ
L'étape 4,5,6 consiste à créer une clé de téléchargement qui est facultative pour les applications existantes
"Clé de téléversement (facultatif pour les applications existantes): nouvelle clé que vous générez lors de votre inscription au programme. Vous utiliserez la clé de téléversement pour signer tous les futurs APK avant de les téléverser dans la console Play."
https://support.google.com/googleplay/android-developer/answer/7384423