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.
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:
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:
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
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:
keystore
dans les commandes ci-dessouskeytool -storepasswd -keystore iap.keystore
Android
comme nouveau mot de passeAndroid
comme mot de passeandroiddebugkey
(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
andorid
)Old_Key_Store_Name
mot de passe (c'est ce que vous aviez précédemment défini pour votre mot de passe clé)androiddebugkey
keytool -keypasswd -keystore iap.keystore -alias androiddebugkey
andorid
)androiddebugkey
(c'est ce que vous aviez précédemment défini pour votre mot de passe clé)Android
comme nouveau mot de passe de cléAndroid
comme mot de passe de la clé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.
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
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é!
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
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.