J'essaie de suivre le tutoriel de cartographie Android et arrivé à cette partie où je devais obtenir une clé API .
J'ai trouvé mon debug.keystore
mais il ne semble pas y avoir d'application keytool
dans le répertoire:
C:\Documents and Settings\tward\\.Android>ls
adb_usb.ini avd debug.keystore repositories.cfg androidtool.cfg ddms.cfg default.keyset
Il n'y a pas non plus de keytool
dans ce répertoire:
C:\Android\android-sdk-windows\tools>ls
AdbWinApi.dll apkbuilder.bat etc1tool.exe mksdcard.exe
AdbWinUsbApi.dll ddms.bat fastboot.exe source.properties
Jet dmtracedump.exe hierarchyviewer.bat sqlite3.exe
NOTICE.txt draw9patch.bat hprof-conv.exe traceview.bat
adb.exe emulator.exe layoutopt.bat zipalign.exe
Android.bat emulator_NOTICE.txt lib
J'utilise Eclipse comme éditeur et je pense avoir téléchargé le dernier SDK.
Qu'est-ce que je fais mal?
keytool
est fourni avec le Java SDK. Vous devriez le trouver dans le répertoire qui contient javac
, etc.
D'accord, ce billet date donc d'il y a six mois, mais j'ai pensé ajouter ici quelques informations aux personnes qui ne comprennent pas tout le commerce des clés d'API/empreintes MD5. Il m'a fallu un certain temps pour comprendre, alors je suppose que d'autres ont eu des problèmes avec ça aussi (à moins que je ne sois juste aussi ennuyeux).
Ces instructions concernent Windows XP, mais j’imagine qu’il en va de même pour les autres versions de Windows. Il semble que les utilisateurs de Mac et Linux ont plus de facilité avec cela, donc je ne vais pas les aborder.
Donc, pour utiliser les mapviews dans vos Android applications, Google souhaite les consulter afin de vous permettre de vous connecter à un Android Conditions d'utilisation du service API Maps. Je pense qu'ils ne veulent pas que vous créiez des applications GPS pas à pas pour rivaliser avec les leurs ou quelque chose du genre. Je ne l'ai pas vraiment lu. Oops.
Alors allez à http://code.google.com/Android/maps-api-signup.html et vérifiez-le. Ils vous demandent de cocher la case "J'ai lu et accepté les conditions" et de saisir l'empreinte MD5 de votre certificat. Wtf est que, pourriez-vous dire. Je ne sais pas, mais faites ce que je dis et votre Android application ne soit pas blessée.
Allez dans Démarrer> Exécuter et tapez cmd pour ouvrir une invite de commande. Vous devez accéder au répertoire contenant le fichier keytool.exe, qui peut se trouver à un emplacement légèrement différent, en fonction de la version de JDK que vous avez installée. Le mien est dans C:\Program Files\Java\jdk1.6.0_21\bin
mais essayez de naviguer dans le dossier Java et voyez quelle version vous avez et changez le chemin en conséquence.
Après avoir accédé à C:\Program Files\Java\<"votre version du JDK ici">\bin dans l'invite de commande, tapez
keytool -list -keystore "C:/Documents and Settings/<"your user name here">/.Android/debug.keystore"
avec les citations. Bien sûr, <"votre nom d'utilisateur ici"> serait votre propre nom d'utilisateur Windows.
(Si vous rencontrez des difficultés pour trouver ce chemin et que vous utilisez Eclipse, vous pouvez vérifier Fenêtre> Préférences> Android> Construire et extraire le "magasin de clés de débogage par défaut".)
Appuyez sur Entrée et il vous sera demandé un mot de passe. Appuyez simplement sur Entrée. Et voila, en bas se trouve votre empreinte digitale MD5. Saisissez votre empreinte digitale dans la zone de texte de la page Android Inscription à l'API Maps, puis cliquez sur Générer une clé API.
Et voici votre clé dans toute sa splendeur, avec un exemple pratique de mise en page XML avec votre clé entrée pour que vous puissiez la copier et la coller.
Ok je l'ai fait dans Windows 7 système 32 bits.
étape 1 : accédez à - C:\Program Files\Java\jdk1.6.0_26\bin - et exécutez jarsigner.exe d’abord (double-cliquez)
step2 : localisez le fichier debug.keystore. Dans mon cas, il s’agissait de - C:\Users\MyPcName\.Android.
step3 : Ouvrez l'invite de commande et accédez à dir - C:\Program Files\Java\jdk1.6.0_26\bin et donnez la commande suivante: keytool -list -keystore "C:\Utilisateurs\MonPcName\.Android\debug.keystore"
step4 : il vous demandera maintenant un mot de passe Keystore. (ce que je suis en train de comprendre ...: -?)
mise à jour: OK dans mon cas, le mot de passe était ´ Android ´. J'utilise Eclipse pour Android, je l'ai donc trouvé ici) Suivez les étapes décrites dans Eclipse : Windows> préférences> Android> construire> ..
(Regardez dans le champ `` Debug Keystore ’ par défaut.)
Commande pour changer le mot de passe du magasin de clés (regardez ici): --- (Changer les mots de passe du magasin de clés
La réponse en 4 étapes ci-dessus a fonctionné pour moi, mais elle renvoie la clé SH1 ... mais Google demande à la clé MD5 de générer votre clé API.
Il faut simplement ajouter un "-v" dans la commande à l'étape 3. - comme ceci:
Réponse en 4 étapes mise à jour
Ok je l'ai fait dans le système Windows 7 32 bits.
étape 1: allez à - C:\Program Files\Java\jdk1.7.0\bin - et lancez jarsigner.exe d’abord (double-cliquez)
step2: localisez le fichier debug.keystore (dans Eclipse: Windows/Préférences/Android/build ..), dans mon cas c’était - C:\Users\MyPcName.Android.
step: ouvrez l'invite de commande et accédez au répertoire - C:\Program Files\Java\jdk1.7.0\bin et donnez la commande suivante: keytool - v -list -keystore "C:\Users\MyPcName.Android\debug.keystore"
step4: il vous demandera maintenant un mot de passe Keystore. La valeur par défaut est "Android"
Je n'ai jamais installé Java, mais lorsque vous installez Android Studio, il possède sa propre version dans le répertoire Android. Voici où se trouve le mien. Votre chemin peut être similaire. Après cela, vous pouvez soit mettre le keytool dans votre chemin, ou simplement le lancer depuis ce répertoire.
C:\Program Files\Android\Android Studio\jre\bin
Cela semblait beaucoup plus difficile à trouver qu’il ne le faut pour OSX. Trop de messages contradictoires
Pour MAC OSX Mavericks Java JDK 7, procédez comme suit pour localiser keytool
:
Tout d’abord, assurez-vous d’installer Java JDK
:
http://docs.Oracle.com/javase/7/docs/webnotes/install/mac/mac-jdk.html
Puis tapez ceci dans l'invite de commande:
/usr/libexec/Java_home -v 1.7
il va cracher quelque chose comme:
/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home
keytool
se trouve dans le même répertoire que javac
. c'est à dire:
/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/bin
Dans le répertoire bin
, vous pouvez utiliser le fichier keytool
.
Si vous utilisez Android Studio for Windows pour créer un magasin de clés et une version .apk signée, procédez comme suit:
1) Construire> Générer un APK signé
2) Choisissez "Créer nouveau ...", choisissez le chemin d'accès au fichier de clés et entrez toutes les données requises.
3) Après la création de votre magasin de clés (nom_votre_keystore.jks), vous l’utiliserez ensuite pour créer votre premier apk signé à la destination de votre choix.
Je n'ai pas vu la nécessité d'utiliser l'outil de commande si vous avez un IDE comme Android Studio.
Une chose qui n'a pas été mentionnée ici (mais m'a empêché d'exécuter complètement keytool) est que vous devez exécuter l'invite de commande en tant qu'administrateur.
Je voulais juste le partager ...
En fait, l'exportation Eclipse appellera
Java -jar Android-sdk-windows\tools\lib\sdklib.jar com.Android.sdklib.build.ApkBuilderMain
puis appelez com.Android.sdklib.internal.build.SignedJarBuilder.
Pas besoin d'utiliser la ligne de commande.
Si vous FICHIER-> "Exporter Android Application" dans l'ADK, cela vous permettra de créer une clé, puis de produire votre fichier .apk.