web-dev-qa-db-fra.com

Quelle est la différence entre 'debug.keystore' et 'release.keystore' dans Android?

Récemment, je travaillais avec Android Maps V2. Je suis tombé sur debug.keystore et release.keystore. Quelle est la différence entre eux? Pourquoi devons-nous utiliser les deux?

28
Anil kumar

Le processus de génération Android Android signe différemment votre application en fonction du mode de génération que vous utilisez pour créer votre application.

Il existe deux modes de construction: mode débogage et mode release .

Vous utilisez le mode débogage lorsque vous développez et testez votre application.

Vous utilisez le mode de publication lorsque vous souhaitez créer une version de publication de votre application que vous pouvez distribuer directement aux utilisateurs ou publier sur un marché d'applications tel que Google Play.

Lorsque vous créez en mode débogage, les outils de construction Android SDK utilisent l'utilitaire Keytool (inclus dans le JDK) pour créer une clé de débogage. Étant donné que les outils de construction SDK ont créé la clé de débogage, ils connaissent le débogage alias et mot de passe de la clé. Chaque fois que vous compilez votre application en mode débogage, les outils de génération utilisent la clé de débogage avec l'utilitaire Jarsigner (également inclus dans le JDK) pour signer le fichier .apk de votre application. Parce que l'alias et le mot de passe sont connus de les outils de construction du SDK, les outils n'ont pas besoin de vous demander l'alias et le mot de passe de la clé de débogage à chaque compilation.

Lorsque vous créez en mode release, vous utilisez votre propre clé privée pour signer votre application. Si vous n'avez pas de clé privée, vous pouvez utiliser l'utilitaire Keytool pour en créer une pour vous. Lorsque vous compilez votre application en mode édition, les outils de génération utilisent votre clé privée avec l'utilitaire Jarsigner pour signer le fichier .apk de votre application. Étant donné que le certificat et la clé privée que vous utilisez sont les vôtres, vous devez fournir le mot de passe pour le fichier de clés et l'alias de clé.

Le processus de signature de débogage se produit automatiquement lorsque vous exécutez ou déboguez votre application à l'aide d'Eclipse avec le plug-in ADT. La signature de débogage se produit également automatiquement lorsque vous utilisez le script de génération Ant avec l'option de débogage. Vous pouvez automatiser le processus de signature de version en utilisant Eclipse Export Wizard ou en modifiant le script de génération Ant et en créant avec l'option de version.

[~ # ~] modifier [~ # ~]

Pour signer Android app avec Android studio voir ici

http://developer.Android.com/tools/publishing/app-signing.html#releasemode

42
Hardik
  • debug.keystore sert uniquement à des fins de développement et de test, vous ne pouvez donc pas publier votre application sur Google Jouez en utilisant cela uniquement.

    Attention: Vous ne devez pas publier votre application au public (via n'importe quelle source) lorsqu'elle est signée avec le certificat de débogage.

  • release.keystore est requis uniquement lorsque vous souhaitez publier votre application sur n'importe quel magasin d'applications.
    Pour plus d'informations, voir Signature de vos applications, sous-section Signature en mode Release .

11
SMR

Vous pouvez travailler sur le développement de l'application Android avec debug.keystore. Le release.keystore sera nécessaire lorsque votre application sera prête à être envoyée en tant qu'application sur le Play Store.

5
user8938

Vous ne pouvez pas publier votre application sur Google Play avec debug.keystore, et les utilisateurs ne pourront pas télécharger votre application.

5
Behnam

debug.keystore est utilisé au moment du développement, où as release.keystore sera utilisé à la sortie du produit ... link

4
user3328081

debug.keystore vous appelez à des fins de test pour les développeurs, car il contient l'alias par défaut et le mot de passe par défaut et en utilisant cela, vous ne pouvez pas publier votre application dans le Play Store.

release.keystore vous appelez pour le magasin de clés de certification d'application final. Ce magasin de clés possède son propre alias et son propre mot de passe de clé. Et pour chaque nouvelle publication de votre application, vous devez générer un fichier signé APK en utilisant ce fichier de clés.

Pour plus d'informations, consultez Signature de vos applications.

3
M D

debug.keystore est utilisé pour générer la clé V2 de l'API Google Map à des fins de débogage. release.keystore est utilisé pour générer la clé de carte avant de télécharger l'application sur Google Play.

3
Nibin