Je dois télécharger une nouvelle application, c'est juste le design qui est un peu différent. Hier, j'ai généré le fichier keystore pour signer l'application. Puis-je utiliser le même?
Je dois télécharger une nouvelle application, c'est juste le design qui est un peu différent. Hier, j'ai généré le fichier keystore pour signer l'application. Puis-je utiliser le même?
Réponses:
Vous pouvez l'utiliser keystore
pour n'importe quel nombre d'applications.
Pas besoin de générer un nouveau keystore.
Je vais faire un contre-argument à la réponse consensuelle jusqu'à présent.
Je conviens que pour la plupart des auteurs d'applications, la plupart du temps, le partage du même fichier de clés / certificat / mot de passe entre vos applications fonctionnera correctement. L'essentiel est d'utiliser « le même certificat tout au long de la durée de vie attendue de vos applications » afin que l'application puisse se mettre à niveau.
Mais je peux penser à une très bonne raison d'avoir des keystores séparés pour des applications ou des familles d'applications distinctes. Si vous pensez que vous voudrez peut-être vendre une application à quelqu'un d'autre pour qu'il la publie en tant que mise à niveau de l'original, vous devrez partager votre fichier de clés et votre mot de passe uniques avec eux pour le faire. Probablement pas un gros problème, mais un peu de souci pour vous et, peut-être, un problème de diligence raisonnable pour un acheteur assez gros.
De plus, je ne lis vraiment pas la même ligne dans la documentation de la même manière que @ol_v_er. Je pense que la ligne actuelle:
Vous devez signer toutes vos applications avec le même certificat tout au long de la durée de vie prévue de vos applications.
(notez l'absence de virgule dans la version actuelle) insiste simplement sur le fait que la recommandation de `` durée de vie '' s'applique à toutes les applications, ne vous ordonnant pas réellement d'utiliser le même certificat pour toutes vos applications.
La documentation officielle nous dit:
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, pendant toute la durée de vie prévue de vos applications. Il y a plusieurs raisons pour lesquelles vous devriez le faire ...
https://developer.android.com/studio/publish/app-signing.html#considerations
Alors oui, essayez de signer toutes vos applications avec le même certificat.
Je voudrais ajouter quelques éclaircissements ici, car cette question et les réponses fournies me prêtent à confusion. Il est essentiel de comprendre ce qu'est réellement un keystore.
Un keystore est juste un moyen de stocker en toute sécurité la paire de clés publique / privée qui est utilisée pour signer vos apks Android. Alors oui, vous pouvez utiliser le même keystore pour signer plusieurs apks, sans problème. Vous pouvez également utiliser le même alias (chaque alias est un certificat) pour signer plusieurs apks, et cela fonctionnera. Cela a cependant des implications en matière de sécurité. Si votre alias unique est compromis, toutes vos applications auront été compromises.
Cependant, si vous avez l'intention de vendre un jour les droits sur vos applications, utiliser le même alias pour toutes vos applications peut ne pas être une bonne idée. Cependant, utiliser le même keystore, à condition d'utiliser un alias différent pour chaque apk, n'est pas forcément une mauvaise option. Je suis sûr qu'il existe un moyen de déplacer un certificat d'un keystore à un autre, afin de pouvoir donner en toute sécurité les clés nécessaires pour ce certificat uniquement à votre acheteur.
Pour être très clair, un keystore est juste cela, un support de stockage pour les clés. Il ne joue aucun rôle réel dans le processus de signature d'un apk, mais sert uniquement à stocker les clés qui sont réellement utilisées pour signer l'apk.
Références:
Comprendre le keystore, les certificats et les alias
https://www.digitalocean.com/community/tutorials/java-keytool-essentials-working-with-java-keystores
Bien sûr! Vous pouvez utiliser le même fichier de clés autant de fois que vous le souhaitez. Il est toujours préférable d'utiliser le même fichier de clés pour toutes les applications que vous développez. Cela vous aidera si vous souhaitez mettre à jour ou modifier l'application. À ce moment-là, vous devez signer votre demande avec la même clé.
Je signe toutes mes applications en utilisant le même certificat (keystore). Cela me donne un avantage si je change d'avis et que je souhaite que mes applications partagent leurs données.
Comme vous le savez peut-être, Android identifie chaque application avec un UID. Si toutes vos applications sont signées par le même certificat, vous pouvez demander à Android d'attribuer le même identifiant d'utilisateur à plusieurs applications et de les faire fonctionner en un seul processus et de partager les données.
À partir d'android doc android: sharedUserId
android: sharedUserId
Le nom d'un ID utilisateur Linux qui sera partagé avec d'autres applications. Par défaut, Android attribue à chaque application son propre ID utilisateur unique. Cependant, si cet attribut est défini sur la même valeur pour deux applications ou plus, elles partageront toutes le même ID, à condition qu'elles soient également signées par le même certificat. L'application avec le même ID utilisateur peut accéder aux données de l'autre et, si vous le souhaitez, s'exécuter dans le même processus
Mise à jour récente
Si vous souhaitez vous inscrire à la signature d'applications par Google, vous devez utiliser une nouvelle clé différente pour signer votre apk ou votre bundle, sinon après le téléchargement de la console Google, vous recevrez un message d'erreur indiquant
Vous avez téléversé un fichier APK ou une collection d'applications Android qui est signé avec une clé qui est également utilisée pour signer les fichiers APK qui sont fournis aux utilisateurs. Étant donné que vous êtes inscrit à la signature d'applications par Google Play, vous devez signer votre fichier APK ou votre collection d'applications Android avec une nouvelle clé avant de l'importer.