web-dev-qa-db-fra.com

Configurer Eclipse pour utiliser le magasin de clés signé

J'ai enfin créé un magasin de clés "final" pour mon application. Comme mon application utilise Google Maps, je suppose que je dois mettre à jour toutes les mises en page pour utiliser également la nouvelle clé API résultant de l'application.

Maintenant, je suis pleinement conscient de l'exigence d'exporter un APK signé pour publication, mais après? Je pense que pour un développement et des tests ultérieurs, il serait plus facile de configurer Eclipse pour utiliser mon fichier de clés final au lieu du fichier de clés de débogage… mais je n'ai trouvé aucun moyen de le faire? Cela me permet seulement de configurer une clé de débogage "alternative" mais je suppose que ce n'est pas la même chose.

Désolé si je suis trop confus si j'ai totalement mal compris quelque chose ici.

49
richey

J'ai pu utiliser mon magasin de clés de publication Google Play comme magasin de clés de débogage personnalisé pour aider au débogage de la fonctionnalité d'achat dans l'application. La même chose pourrait sans aucun doute être appliquée au débogage de Google Maps.

Comme Devunwired mentionné , il y a des mises en garde. Mais ma solution était la suivante:

  1. Copiez votre clé de libération quelque part.
  2. Modifiez le mot de passe du magasin de clés/mot de passe de clé et l'alias de clé en suivant les instructions ici (également, en suivant les recommandations de Devunwired pour le faire ressembler à un magasin de clés de débogage).
  3. Modifiez les préférences d'Eclipse> Android> Build> Paramètre de fichier de clés personnalisé sur le chemin de la copie effectuée à l'étape 1.
  4. Terminé!
61
pilcrowpipe

Vous pouvez configurer un magasin de clés personnalisé à utiliser pour vos versions de débogage (celles qui se produisent lorsque vous cliquez sur Exécuter ...) dans Eclipse en allant dans Préférences -> Android -> Créer et entrer le fichier nom dans l'option "Fichier de clés de débogage personnalisé".

Cependant, il a la mise en garde qu'il doit suivre les mêmes règles qu'un keystore de débogage traditionnel, principalement:

  1. Le mot de passe du magasin de clés doit être "Android"
  2. Il doit contenir une clé nommée "androiddebugkey"
  3. Le mot de passe de cette clé doit être "Android"

Par conséquent, bien qu'il soit possible de signer vos applications en débogage avec le même magasin de clés que celui avec lequel vous exportez, cela nécessite que votre magasin de clés de production ressemble à un magasin de débogage, ce qui le rend moins sécurisé si quelqu'un a mis la main sur le fichier (ce serait plus facile pour inspecter et deviner les mots de passe).

HTH

70
Devunwired

Pour qu'Eclipse signe automatiquement pour vous lorsque vous déployez, vous devez configurer un magasin de clés qui se comporte comme le magasin de clés de débogage. Cela signifie qu'il doit y avoir un "androiddebugkey" et que la clé et le mot de passe du magasin de clés doivent être "Android". Par conséquent, je recommanderais ce qui suit:

  1. Faites une copie de votre fichier de clés, j'ai copié le mien dans un fichier appelé iap.keystore
  2. Ouvrez la fenêtre de terminal/commande avec keytool sur le chemin (pour moi, le chemin est D:\NVPACK\jdk1.6.0_45\bin\keytool.exe) ou utilisez le chemin d'accès complet à keystore dans les commandes ci-dessous
  3. Modifiez votre mot de passe de magasin de clés en "Android":
    • keytool -storepasswd -keystore iap.keystore
    • Suivez l'invite pour entrer votre ancien mot de passe de magasin de clés
    • Suivez l'invite pour entrer Android comme nouveau mot de passe
    • Suivez l'invite pour confirmer Android comme mot de passe
  4. Renommez votre clé en androiddebugkey (remplacez Old_Key_Store_Name avec votre nom de clé actuel dans la commande suivante)
    • keytool -changealias -keystore iap.keystore -alias Old_Key_Store_Name -destalias androiddebugkey
    • Suivez l'invite pour entrer votre mot de passe de magasin de clés (qui est maintenant andorid)
    • Suivez l'invite pour entrer votre Old_Key_Store_Name mot de passe (c'est ce que vous aviez précédemment défini pour votre mot de passe clé)
  5. Modifiez le mot de passe de votre androiddebugkey
    • keytool -keypasswd -keystore iap.keystore -alias androiddebugkey
    • Suivez l'invite pour entrer votre mot de passe de magasin de clés (qui est maintenant andorid)
    • Suivez l'invite pour entrer votre mot de passe androiddebugkey (c'est ce que vous aviez précédemment défini pour votre mot de passe clé)
    • Suivez l'invite pour entrer Android comme nouveau mot de passe de clé
    • Suivez l'invite pour confirmer Android comme mot de passe de la clé
  6. Vous avez maintenant un magasin de clés (avec clé) qu'Eclipse peut utiliser pour signer automatiquement les constructeurs.
  7. Chargez Eclipse.
  8. Fenêtre -> Préférences -> Android -> Build
  9. Suivez le fichier de clés de débogage personnalisé, accédez au fichier iap.keystore que nous avons créé précédemment.
  10. D'accord

Maintenant, lorsque vous lancez/déboguez votre projet, il utilisera le magasin de clés que nous venons de configurer pour signer votre projet. Cela permettra à des choses comme IAP de fonctionner.

ATTENTION: c'est pratique, mais bien sûr, si quelqu'un met la main sur votre iap.keystore, il pourra signer des choses comme vous en utilisant 'Android' comme mot de passe du keystore/key. J'espère que cela vient évidemment des étapes énumérées ci-dessus, mais prenez juste une seconde pour apprécier ce que cela signifie pour vous (ou votre entreprise). Ensuite, en fonction de cela, décidez si les risques sont acceptables et si vous devez prendre des mesures supplémentaires pour assurer la sécurité de ce fichier.

4
Steven Craft

Nous avons défini un fichier de clés personnalisé à utiliser pour nos versions de débogage. Eclipse Allez dans Préférences -> Android -> Créez et entrez le nom du fichier dans le "Keystore de débogage personnalisé".

Important lorsque nous créons notre magasin de clés pour les douanes Eclipse:

Le mot de passe du magasin de clés doit être "Android" Il doit contenir une clé nommée "androiddebugkey" Le mot de passe de cette clé doit être "Android" Par conséquent, bien qu'il soit possible de signer vos applications en débogage avec le même magasin de clés que celui avec lequel vous exportez, cela nécessite votre production keystore pour ressembler à un magasin de débogage, ce qui le rend moins sûr si quelqu'un accède au fichier (il serait plus facile d'inspecter et de deviner les mots de passe).

si nous voulons changer le mot de passe du magasin de clés: $ keytool -storepasswd -keystore my.keystore

si nous voulons changer le mot de passe de l'alias de magasin de clés: $ keytool -keypasswd -keystore my.keystore -alias my_name

si nous voulons changer l'alias du fichier de clés: $ keytool -changealias -keystore my.keystore -alias my_name -destalias my_new_name

Vkj enter image description here

3
Vinod Joshi

Nous avons le même problème il y a quelque temps à notre bureau. Comme nous en avions besoin assez souvent, nous avons écrit un script simple pour faciliter la conversion des fichiers de clés de version en fichiers de débogage.

Le script est disponible sur https://github.com/IntellexApps/key2debug

Nous l'utilisons depuis un certain temps maintenant, donc devrait être assez stable.

à votre santé!

0
Sabo

Voici les instructions pour convertir un fichier de clés normal dans un fichier de clés de débogage: https://stackoverflow.com/a/15754187/917362

0
Alex R. R.

Vous pouvez saisir à la fois votre débogage et votre version SHA1 pour la même clé d'API Google à l'aide de la Google Developers Console (console.developers.google.com).

De cette façon, vous aurez la même clé API pour les deux et vous n'aurez plus à la changer dans AndroidManifest.xml.

0
Tiberius