Je lis un guide de développement de Facebook Developers à ici
Il indique que je dois utiliser keytool pour exporter la signature de mon application, telle que:
keytool -exportcert -alias androiddebugkey -keystore ~ / .Android/debug.keystore | openssl sha1 -binary | openssl base64
Je ne sais pas comment trouver le keytool afin de l'exécuter. J'ai essayé d'ouvrir une invite de commande Windows et de coller la commande ci-dessus, mais cela n'a pas fonctionné.
J'ai trouvé une solution par moi-même comme citation ci-dessous. Ça fonctionne bien.
"C:\Program Files\Java\jdk1.6.0_26\bin\keytool.exe" -exportcert -alias sociallisting -keystore "D:\magasin de clés\SocialListing" | "C:\cygwin\bin\openssl.exe" sha1 -binary | "C:\cygwin\bin\openssl.exe" base64
Il suffit de les entrer dans l'invite de commande Windows.
cd C:\Program Files\Java\jdk1.7.0_09\bin
keytool -exportcert -alias androiddebugkey -keystore "C:\Users\userName\.Android\debug.keystore" -list -v
Le mot de passe de base est Android
Les touches MD5
, SHA1
et SHA256
vous seront présentées. Choisissez celui dont vous avez besoin.
Pour obtenir le code de hachage de la clé Android, procédez comme suit (pour les applications Facebook)
cd C:\Program Files\Java\jdk1.6.0_26\bin
keytool -export -alias myAlias -keystore C:\Users\<your user name>\.Android\myKeyStore | C:\openssl-0.9.8k_WIN32\bin\openssl sha1 -binary | C:\openssl-0.9.8k_WIN32\bin\openssl enc -a -e
Pour obtenir le code MD5 (Certificate fingerprint), procédez comme suit
jarsigner.exe
cd C:\Program Files\Java\jdk1.6.0_26\bin
keytool -list -keystore "C:/Documents and Settings/<your user name>/.Android/debug.keystore"
Android
" et entrezkeytool fait partie du JDK.
Essayez de préfixer %{Java_HOME}\
à l'instruction exec ou à c:\{path to jdk}\bin
.
Le KeyTool fait partie du JDK. Vous le trouverez, en supposant que vous avez installé le JDK avec les paramètres par défaut, dans $Java_HOME/bin
La réponse de Robby Pond
peut être généralisée en utilisant la variable d’environnement Java_HOME
et en compensant les espaces qui pourraient apparaître dans le chemin (comme Program Files
):
"%Java_HOME%\bin\keytool" -exportcert -alias androiddebugkey -keystore ~/.Android/debug.keystore | openssl sha1 -binary | openssl base64
keytool fait partie de jdk, il devrait s'agir de $ Java_HOME/bin/keytool
Keytool fait partie du Java SDK. Vous devriez pouvoir le trouver dans votre répertoire Java SDK, par exemple. C:\Program Files\Java\jdk1.6.0_14\bin
Sur la fenêtre de commande (doit être exécuté en tant qu'administrateur),
cd %Java_HOME%
ne fonctionne que si vous avez configuré la variable d’environnement système Java_HOME. Pour configurer votre variable système pour votre chemin, vous pouvez le faire
setx %Java_HOME% C:\Java\jdk1.8.0_121\
Ensuite, vous pouvez taper
cd c:\Java\jdk1.8.0_121\bin
ou
cd %Java_HOME%\bin
Ensuite, exécutez les commandes fournies par Java jdk, telles que
keytool -genkey -v -keystore myapp.keystore -alias myapp
Il vous suffit de répondre aux questions (équivalent à taper les valeurs sur la ligne de commande) après avoir appuyé sur Entrée! La clé serait générée
Selon votre version d'Eclipse (j'utilise Kepler). Allez dans Windows> Préférences> Android> Construire.
Vous trouverez le chemin d’emplacement de votre magasin de clés de débogage ainsi que l’empreinte digitale SHA1 (que vous pouvez simplement copier et utiliser).
Android: où exécuter la commande keytool dans Android
La commande Keytool peut être exécutée à l'invite de votre commande dos, si JRE a été défini dans votre variable de chemin d'accès aux classes.
Par exemple, si vous souhaitez obtenir l’empreinte MD5 du certificat de débogage du SDK pour Android,
il suffit de lancer la commande suivante ...
C:\Documents and Settings\user\.Android> keytool -list -alias androiddebugkey -keystore debug.keystore -storepass Android -keypass Android
où C:\Documents and Settings\user\.Android>
est le chemin qui contient le debug.keystore
qui doit être certifié.
Pour plus d'informations, consultez la page http://code.google.com/Android/add-ons/google-apis/mapkey.html#getdebugfingerprint
keytool se trouve dans le répertoire bin JDK ($ Java_HOME/bin). Java_HOME est votre répertoire d'installation JDK. Pour utiliser cette ligne de commande, vous devez également inclure $ Java_HOME/bin dans votre variable d’environnement PATH.
KEYTOOL est dans JAVAC SDK .Vous devez donc le trouver dans le répertoire qui contient javac
keytool
est fourni avec le JDK. Si vous utilisez cygwin, c'est probablement déjà sur votre chemin. Sinon, vous pourriez creuser dans le dossier bin de votre JDK.
Vous devrez probablement utiliser cygwin de toute façon pour que les pipes Shell (|
) fonctionnent.
Quelques observations alors que je rencontrais le même problème (Windows). 1. Le tuyau en coquille est important. 2. Si vous utilisez OpenSSL ou Cygwin, vous devez absolument l’installer. 3. keytool est fourni avec JDK. Vous devez donc y pointer dans la commande ou cd dans le dossier JDK/bin (où réside l'exe). 4. Le fichier de clés de débogage est généralement situé à ~/.Android/debug.keystore. 5. Le mot de passe est "Android", que vous le passiez ou le tapiez à l'invite. 6. Pour le nom d'alias, vous pouvez ouvrir (ne pas enregistrer, simplement ouvrir et fermer) le fichier de clés avec n'importe quel éditeur et le lire. 7. LE PLUS IMPORTANT - Il y a une différence en spécifiant le chemin du magasin de clés entre guillemets et sans. Je l'ai obtenu en utilisant le chemin du magasin de clés entre guillemets. Comme le dit remix090378 et conformément à la instruction , cette commande a bien fonctionné - cd C:\Program Files\Java\jdk1.7.0_09\bin
keytool -exportcert -alias androiddebugkey -keystore "C:\Utilisateurs\Nom d'utilisateur.Android\debug.keystore" -list -v