Je lis un guide de développement des développeurs Facebook ici
Il dit 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 pour 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é.
/usr/local/java/bin# ./keytool
si vous exécutez Windowsfind the JDK install path and check bin folder
Réponses:
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:\keystore\SocialListing" | > "C:\cygwin\bin\openssl.exe" sha1 -binary | "C:\cygwin\bin\openssl.exe" > base64
la source
Entrez-les simplement 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
Il vous sera présenté avec le
MD5
,SHA1
et lesSHA256
clés; Choisissez celui dont vous avez besoin.la source
keytool error: java.lang.Exception: Only one command is allowed: both -exportcert and -list were specified.
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 d'empreinte digitale du certificat (MD5), procédez comme suit
jarsigner.exe
fichiercd C:\Program Files\Java\jdk1.6.0_26\bin
keytool -list -keystore "C:/Documents and Settings/<your user name>/.android/debug.keystore"
android
" tapez et entrezla source
keytool fait partie du JDK.
Essayez de préfixer
%{JAVA_HOME}\
l'instruction exec ouc:\{path to jdk}\bin
.la source
"%JAVA_HOME%\bin\keytool" -import -keystore truststore -file certificate.cer -alias my-alias
Le KeyTool fait partie du JDK. Vous le trouverez, en supposant que vous ayez installé le JDK avec les paramètres par défaut, dans
$JAVA_HOME/bin
la source
Robby Pond
La réponse peut être généralisée pour utiliserJAVA_HOME
la variable d'environnement et pour compenser également les blancs qui pourraient se produire dans le chemin (commeProgram Files
):"%JAVA_HOME%\bin\keytool" -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
la source
keytool fait partie de jdk, il devrait être $ JAVA_HOME / bin / keytool
la source
Keytool fait partie du SDK Java. Vous devriez pouvoir le trouver dans votre répertoire Java SDK, par exemple C: \ Program Files \ Java \ jdk1.6.0_14 \ bin
la source
Sur la fenêtre cmd (besoin de s'exécuter en tant qu'administrateur),
cd %JAVA_HOME%
ne fonctionne que si vous avez configuré votre 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 toutes 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 cmd) après avoir appuyé sur Entrée! La clé serait générée
la source
J'ai trouvé cela sur un autre article, qui n'a pas reçu beaucoup de votes positifs, mais cela m'a été très utile. Alors va l'ajouter ici.
Android Studio apportera un keytool avec lui.
C:\Program Files\Android\Android Studio\jre\bin
Vous pouvez voir son article ci-dessous par Richar Heap, avec une référence utile. J'ai vu ça avant mais je l'ai oublié. https://stackoverflow.com/a/51524526/4446406
la source
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.
la source
Android: où exécuter la commande keytool sous Android
La commande Keytool peut être exécutée à l'invite de commande dos, si JRE a été défini dans votre variable classpath.
Par exemple, si vous souhaitez obtenir l'empreinte digitale MD5 du certificat de débogage SDK pour Android,
exécutez simplement 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 ledebug.keystore
qui doit être certifié.Pour plus d'informations, consultez la page http://code.google.com/android/add-ons/google-apis/mapkey.html#getdebugfingerprint
la source
En fonction de votre version d'Eclipse (j'utilise Kepler). Accédez à Windows> Préférences> Android> Build.
Vous trouverez le chemin de l'emplacement de votre keystore de débogage ainsi que l'empreinte digitale SHA1 (que vous pouvez simplement copier et utiliser)
la source
KEYTOOL est dans le SDK JAVAC. Vous devez donc le trouver dans le répertoire qui contient javac
la source
Si vous avez installé Visual Studio avec la prise en charge du développement Xamarin / mobile, vous aurez une installation java ici
C:\Program Files\Android\jdk\microsoft_dist_openjdk_{version}\bin\
, comme c'était mon cas.la source
keytool
est livré avec le JDK. Si vous utilisez cygwin, c'est probablement déjà sur votre chemin. Sinon, vous pourriez fouiller dans le dossier bin de votre JDK.Vous devrez probablement utiliser cygwin de toute façon pour que les tubes shell (
|
) fonctionnent.la source
Peu d'observations alors que j'obtenais le même problème (Windows). 1. Le tuyau Shell est important. 2. Si vous utilisez OpenSSL ou Cygwin, vous devez absolument l'installer. 3. keytool est livré avec JDK donc soit vous devez le pointer dans la commande, soit vous avez un cd vers le dossier JDK / bin (où réside l'exe) 4. Le keystore de débogage se trouve généralement dans ~ / .android / debug.keystore 5. Le mot de passe est «android», que vous le passiez ou le saisissiez lorsque vous y êtes invité. 6. Pour le nom d'alias, vous pouvez ouvrir (NE PAS SAUVEGARDER, simplement ouvrir et fermer) le fichier keystore avec n'importe quel éditeur et le lire. 7. LE PLUS IMPORTANT - Il y a une différence en spécifiant le chemin du keystore entre guillemets et sans. Je l'ai fait fonctionner en utilisant le chemin du keystore entre les guillemets. Comme le dit remix090378 et selon les instructions, cette commande a en effet fonctionné - cd C: \ Program Files \ Java \ jdk1.7.0_09 \ bin
keytool -exportcert -alias androiddebugkey -keystore "C: \ Users \ userName.android \ debug.keystore" -list -v
la source
Dans mon cas, j'avais déjà généré un fichier APK à l'aide de la commande
ionic cordova build android --prod
et j'avais besoin d'obtenir l'empreinte digitale SHA-1 pour le fichier APK déjà existant. Voici comment je l'ai obtenu en exécutant la commande suivante dans le répertoire App:keytool -list -printcert -jarfile app-debug.apk
Donc, j'ai essentiellement exécuté la commande ci-dessus dans l'emplacement d'application suivant:
C:\myApp\platforms\android\app\build\outputs\apk\debug>keytool -list -printcert -jarfile app-debug.apk
Cela m'a donné l'empreinte digitale SHA1 comme:
7B:6B:AD:...
J'espère que cela aide quelqu'un!
la source
Étant donné que vous avez installé Java et de préférence un JDK dans votre système (répondant pour Windows parce que vous l'avez mentionné dans votre question), vous devriez avoir l'utilitaire keytool dans le
bin
dossier de votre installation .Si tel est le cas, vous pouvez ensuite ajouter ce dossier bin à la
PATH
variable d'environnement de votre installation Windows.La prochaine fois que vous ouvrirez un shell Windows et que vous tapez,
keytool
vous pourrez exécuter l'utilitaire réel.la source
Vous pouvez également effectuer les opérations suivantes:
PATH
variable d'environnementkeytool
commande dans n'importe quel shell WindowsL'emplacement réel de keytool est défini dans le fichier bat. Si l'emplacement est erroné, le fichier bat analysera votre système pour détecter les emplacements potentiels dans les (sous) dossiers ProgramFiles.
Trouvez également keytool2.bat, un raccourci pratique pour "keytool -v -list -keystore", qui est largement utilisé pour vérifier rapidement le contenu d'un fichier jks.
keytool.bat:
:: :: :: "keytool alias" script by Céphas :: easy method : add the known keytool.exe folder to your personal PATH variable (run : C:\Windows\System32\rundll32.exe sysdm.cpl,EditEnvironmentVariables) :: else, add the folder containing this bat script to your personal path or put this script in any folder already defined in your path :: :: also see keytool2.bat that automatically adds the following parameters in the keytool command line : -v -list -keystore, for quick display of jks content :: :: @echo off set THIS_SCRIPT=%~f0 rem setlocal enableDelayedExpansion : necessary for paths containing special chars setlocal enableDelayedExpansion rem set PATH to keytool.exe ; path must include the final \ rem ^ is escape char for paths containing & \ < > ^ | set PATH_TO=C:\Program Files\Java\jre1.8.0_45\bin\ set PROG_NAME=keytool.exe rem full_path, with "", to work with paths containing special chars set FULL_KT_PATH="!PATH_TO!!PROG_NAME!" rem checks if keytool.exe exists (dir %FULL_KT_PATH%>nul 2>nul && set KT_FOUND=yes) || set KT_FOUND=no if %KT_FOUND%==yes ( rem keytool found => launching it with all supplied parameters rem rem %FULL_KT_PATH% %* rem rem ) else ( rem keytool not found, trying to find it in %ProgramFiles% echo. echo Keytool not found in expected location, scan in progess ... echo. cd "%ProgramFiles(x86)%" 2>nul && dir /B /S keytool.exe 2>nul cd "%ProgramFiles%" 2>nul && dir /B /S keytool.exe 2>nul echo. echo ********* echo Path to program keytool.exe not properly defined, or keytool/java missing on this system echo If any location has been found during above scan, fix variable "PATH_TO" in %THIS_SCRIPT% accordingly echo ********* echo. pause )
keytool2.bat:
:: :: :: "keytool2 alias" script by Céphas :: easy method : add the known keytool.exe folder to your personal PATH variable (run : C:\Windows\System32\rundll32.exe sysdm.cpl,EditEnvironmentVariables) :: else, add the folder containing this bat script to your personal path or put this script in any folder already defined in your path :: :: keytool2 automatically adds the following parameters in the keytool command line : -v -list -keystore :: thus, to quickly display the full content of a jks file, usage is simply : keytool2 \path\to\your\keystore.jks [-alias your_alias] :: :: @echo off set THIS_SCRIPT=%~f0 rem setlocal enableDelayedExpansion : necessary for paths containing special chars setlocal enableDelayedExpansion rem set PATH to keytool.exe ; path must include the final \ rem ^ is escape char for paths containing & \ < > ^ | set PATH_TO=C:\Program Files\Java\jre1.8.0_45\bin\ set PROG_NAME=keytool.exe rem full_path, with "", to work with paths containing special chars set FULL_KT_PATH="!PATH_TO!!PROG_NAME!" rem checks if keytool.exe exists (dir %FULL_KT_PATH%>nul 2>nul && set KT_FOUND=yes) || set KT_FOUND=no if %KT_FOUND%==yes ( rem keytool found => launching it with all supplied parameters rem rem %FULL_KT_PATH% -v -list -keystore %* rem rem ) else ( rem keytool not found, trying to find it in %ProgramFiles% echo. echo Keytool not found in expected location, scan in progess ... echo. cd "%ProgramFiles(x86)%" 2>nul && dir /B /S keytool.exe 2>nul cd "%ProgramFiles%" 2>nul && dir /B /S keytool.exe 2>nul echo. echo ********* echo Path to program keytool.exe not properly defined, or keytool/java missing on this system echo If any location has been found during above scan, fix variable "PATH_TO" in %THIS_SCRIPT% accordingly echo ********* echo. pause )
la source