Signature de l’application
Clés et signature d’application Play.
Signature de l’application est une leçon Android Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Android Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Android Academy comprend 4 leçons au total.
Pourquoi les applications doivent être signées
Android n’installe pas une application si elle n’est pas signée numériquement. La signature prouve deux choses : l’identité de l’éditeur de l’application et le fait que l’APK n’a pas été altéré depuis sa signature.
Point essentiel, les signatures associent les mises à jour à l’application d’origine. Une mise à jour n’est acceptée que si elle est signée avec la même clé que la version installée. Si vous perdez cette clé, vous ne pourrez plus jamais mettre votre application à jour.
Cette leçon présente les keystores, la configuration de signature et l’approche moderne plus sûre de Google : Play App Signing.
Keystores et clés
Votre identité de signature réside dans un fichier keystore (.jks ou .keystore). Un keystore peut contenir plusieurs clés ; chaque clé possède un alias et son propre mot de passe.
- Mot de passe du keystore — déverrouille le fichier.
- Alias de clé — désigne la clé qu’il contient.
- Mot de passe de la clé — déverrouille cette clé particulière.
Les compilations de débogage que vous exécutez quotidiennement sont automatiquement signées avec un keystore de débogage temporaire. Pour une publication, vous devez utiliser le vôtre.
Créer un keystore
Vous pouvez créer un keystore depuis la boîte de dialogue d’Android Studio ou avec la commande keytool fournie avec le JDK.
Utilisez une longue durée de validité (25 ans ou plus) : si la clé expire, vous ne pourrez pas publier de mises à jour. RSA 2048 est la norme.
keytool -genkeypair \
-v \
-keystore release.jks \
-alias upload \
-keyalg RSA \
-keysize 2048 \
-validity 10000Le bloc signingConfigs
Pour signer automatiquement pendant une compilation Gradle, déclarez une entrée signingConfigs et associez-la au type de compilation release.
Cette méthode fonctionne, mais remarquez que les mots de passe se trouvent directement dans le fichier de compilation — nous corrigerons cela ensuite.
android {
signingConfigs {
create("release") {
storeFile = file("release.jks")
storePassword = "superSecret"
keyAlias = "upload"
keyPassword = "superSecret"
}
}
buildTypes {
release {
signingConfig = signingConfigs.getByName("release")
isMinifyEnabled = true
}
}
}Garder les secrets hors de Git
Ne validez jamais les mots de passe ni le keystore dans le système de gestion de versions. Lisez-les plutôt depuis un fichier local keystore.properties, ignoré par git.
Ajoutez keystore.properties et *.jks à .gitignore.
// top of app/build.gradle.kts
val keystoreProps = Properties().apply {
val f = rootProject.file("keystore.properties")
if (f.exists()) load(f.inputStream())
}
android {
signingConfigs {
create("release") {
storeFile = file(keystoreProps["storeFile"] as String)
storePassword = keystoreProps["storePassword"] as String
keyAlias = keystoreProps["keyAlias"] as String
keyPassword = keystoreProps["keyPassword"] as String
}
}
}Le fichier keystore.properties
Le fichier de propriétés correspondant est une simple liste de paires clé=valeur, exclue de git et conservée en lieu sûr (dans un gestionnaire de mots de passe ou un coffre de secrets d’intégration continue).
Sur un serveur d’intégration continue, vous injecteriez ces valeurs sous forme de secrets fournis par l’environnement plutôt que dans un fichier validé.
# keystore.properties (git-ignored!)
storeFile=release.jks
storePassword=superSecret
keyAlias=upload
keyPassword=superSecretPlay App Signing
Les versions modernes de Play utilisent Play App Signing. Google conserve ici la véritable clé de signature de l’application dans son infrastructure sécurisée et l’utilise pour signer les APK distribués aux utilisateurs.
Vous ne gérez qu’une clé de téléversement : vous signez votre bundle avec celle-ci, puis vous le téléversez. Play vérifie votre clé de téléversement, la retire et signe à nouveau le bundle avec la clé de signature de l’application.
Le principal avantage est le suivant : si vous perdez un jour votre clé de téléversement, vous pouvez demander sa réinitialisation, tandis que la clé de signature de l’application (celle à laquelle les utilisateurs font confiance) reste en sécurité chez Google.
Clé de téléversement ou clé de signature de l’application
Deux clés, deux rôles — ne les confondez pas :
- Clé de téléversement — la vôtre. Elle signe l’AAB que vous téléversez. Elle peut être réinitialisée si vous la perdez.
- Clé de signature de l’application — celle de Google (ou une clé que vous avez téléversée une fois). Elle signe les APK finaux installés par les utilisateurs. Elle est permanente.
Lorsque vous inscrivez une nouvelle application, le plus simple est de laisser Google générer la clé de signature de l’application et de signer vos téléversements avec votre clé de téléversement.
Vérifier une signature
Pour confirmer comment un artefact est signé, utilisez apksigner provenant des outils de compilation du SDK Android. Cet outil indique le certificat de signature et les schémas de signature présents (v1/v2/v3).
Comparer l’empreinte SHA-256 du certificat est également la méthode utilisée pour enregistrer votre application auprès de services comme Firebase ou Google Sign-In.
# Verify and print signer certificates of an APK
apksigner verify --print-certs app-release.apk
# Show the SHA-256 fingerprint of a keystore key
keytool -list -v -keystore release.jks -alias uploadProtéger vos clés
Votre clé de téléversement est difficile à remplacer et votre clé de signature de l’application (si vous la gérez vous-même) est irremplaçable. Traitez-les comme des joyaux de la couronne :
- Sauvegardez le keystore dans au moins deux emplacements sécurisés.
- Stockez les mots de passe dans un gestionnaire de mots de passe, jamais dans le code source.
- Utilisez Play App Signing afin de pouvoir récupérer une clé de téléversement perdue.
- Limitez les membres de l’équipe qui peuvent accéder au keystore.
De nombreuses applications publiées ont été abandonnées simplement parce que leur développeur avait perdu la clé et ne pouvait plus distribuer de mises à jour.
Assembler tous les éléments
Le processus complet de signature d’une publication se déroule ainsi :
- Créez un keystore de téléversement avec
keytool. - Reliez-le à
signingConfigsen lisant les secrets depuiskeystore.properties. - Créez un
.aabsigné avec./gradlew bundleRelease. - Téléversez-le sur Play, qui le signe à nouveau avec la clé de signature de l’application avant de le distribuer aux utilisateurs.
Désormais, chaque mise à jour devra être signée avec cette même clé de téléversement.
Vérification rapide
Avec Play App Signing activé, quelle clé utilisez-vous pour signer le bundle que vous téléversez, et que se passe-t-il si vous la perdez ?
Récapitulatif : signature de l’application
La signature rend une application Android installable et permet de la mettre à jour :
- Un keystore contient des clés ; chaque clé possède un alias et des mots de passe.
- Créez une clé à longue durée de validité avec
keytoolet reliez-la àsigningConfigs. - Gardez les mots de passe hors de git grâce à
keystore.propertieset.gitignore. - Play App Signing sépare les clés en une clé de téléversement réinitialisable qui vous appartient et une clé de signature de l’application permanente appartenant à Google.
- Sauvegardez soigneusement vos clés : une clé perdue peut mettre fin à la vie d’une application.
Ensuite : configurer la Play Console et la fiche de votre application.
Questions Fréquemment Posées
La leçon « Signature de l’application » est-elle gratuite ?
Oui — le texte complet de « Signature de l’application » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Android Academy, passe à CoddyKit PRO. Le cours Android Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Signature de l’application » ?
Clés et signature d’application Play. Tu pratiques Android Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Android Academy ?
Aucune expérience préalable n'est requise. Android Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.
Combien de temps prend la leçon « Signature de l’application » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Android Academy ?
Oui. Chaque leçon Android Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Préparer une compilation de publication
- Signature de l’application
- La Play Console et la fiche de l’application
- Déploiements progressifs et mises à jour