web-dev-qa-db-fra.com

KeyStore et Key Alias

Je suis en train d'exporter une application et je suis très curieux de connaître le keystore et les keyalias. Je ne sais pas vraiment à quoi ils servent, ni combien dois-je en créer (peut-être un pour chaque application?). J'apprécierais toute information concernant ces clés. Merci

34

C'est essentiellement un moyen de vous identifier avec votre application. Il existe des clés de débogage et des clés de signature, ces dernières dont vous aurez besoin pour télécharger des APK sur le Play Store et publier votre application. L'alias de clé est juste un nom banal qui pointe vers un certificat spécifique. Vous pouvez en créer un pour chaque version, ou simplement utiliser le même pour toutes vos applications. Je suggère de créer un pour chaque application et de vous assurer de sauvegarder plusieurs copies. J'aime en garder 3, un sur mon système, un dans ma Dropbox et un autre sur un externe quelque part. Si vous perdez ce fichier de clés, il n'y a absolument aucun moyen de le récupérer ou de publier les futures versions d'une application. Cette question est assez utile

EDIT: la section "App-Signing" du site du développeur suggère en fait d'utiliser le même certificat dans toutes vos applications

En général, la stratégie recommandée pour tous les développeurs est de signer toutes vos applications avec le même certificat, tout au long de la durée de vie prévue de vos applications. Il y a plusieurs raisons pour lesquelles vous devriez le faire ...

Mise à niveau de l'application - Lorsque vous publiez des mises à jour de votre application, vous devez continuer à signer les mises à jour avec le même certificat ou ensemble de certificats, si vous souhaitez que les utilisateurs puissent effectuer une mise à niveau transparente vers la nouvelle version. Lorsque le système installe une mise à jour d'une application, il compare le ou les certificats de la nouvelle version avec ceux de la version existante. Si les certificats correspondent exactement, y compris les données de certificat et la commande, le système autorise la mise à jour. Si vous signez la nouvelle version sans utiliser de certificats correspondants, vous devez également attribuer un nom de package différent à l'application - dans ce cas, l'utilisateur installe la nouvelle version en tant qu'application entièrement nouvelle.

Modularité des applications - Le système Android Android permet aux applications signées par le même certificat de s'exécuter dans le même processus, si les applications le demandent, de sorte que le système les traite comme une seule application. Dans ce vous pouvez déployer votre application dans des modules et les utilisateurs peuvent mettre à jour chacun des modules indépendamment si nécessaire. Partage de code/données via des autorisations - Le système Android fournit une application des autorisations basée sur les signatures, peut exposer des fonctionnalités à une autre application signée avec un certificat spécifié. En signant plusieurs applications avec le même certificat et en utilisant des vérifications d'autorisations basées sur les signatures, vos applications peuvent partager du code et des données de manière sécurisée.

36
Jade Byfield