我如何find并运行keytool
我正在阅读Facebook Developers的开发指南
它说我必须使用keytool来导出我的应用程序的签名,如:
keytool -exportcert -alias androiddebugkey -keystore〜/ .android / debug.keystore | openssl sha1 -binary | openssl base64
我不知道如何findkeytool来运行它。 我试图打开一个Windows命令提示符并粘贴上面的命令,但它没有工作。
我自己find了一个解决scheme,如下面的引用。 它工作正常。
“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
只需将这些input到Windows命令提示符下。
cd C:\Program Files\Java\jdk1.7.0_09\bin keytool -exportcert -alias androiddebugkey -keystore "C:\Users\userName\.android\debug.keystore" -list -v
基地密码是android
您将看到MD5
, SHA1
和SHA256
密钥; select一个你需要的。
要获得Android密钥哈希代码请按照下列步骤(对于Facebook应用程序)
- 在这里下载openssl for windows
- 现在解压到C盘
- 打开cmd提示符
- 键入
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
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
- 完成
要获得证书指纹(MD5)代码请按照下列步骤
- 转到 – C:\ Program Files \ Java \ jdk1.6.0_26 \ bin
- 在bin文件夹内运行
jarsigner.exe
文件 - 打开cmd提示符
- 键入
cd C:\Program Files\Java\jdk1.6.0_26\bin
- 然后再次inputcmd
keytool -list -keystore "C:/Documents and Settings/<your user name>/.android/debug.keystore"
- 它现在会要求密钥库密码。 默认是“
android
”types并input - 完成。
keytool是JDK的一部分。
尝试将%{JAVA_HOME}\
到exec语句或c:\{path to jdk}\bin
。
KeyTool是JDK的一部分。 假设您在$JAVA_HOME/bin
使用默认设置安装了JDK,您会find它
keytool是jdk的一部分,它应该是$ JAVA_HOME / bin / keytool
Android:在android中运行keytool命令的地方
如果JRE已经设置在你的类pathvariables中,那么可以在你的dos命令提示符下运行Keytool命令。
例如,如果您想获取android的SDKdebugging证书的MD5指纹,
只需运行以下命令…
C:\Documents and Settings\user\.android> keytool -list -alias androiddebugkey -keystore debug.keystore -storepass android -keypass android
其中C:\Documents and Settings\user\.android>
是包含必须authentication的debug.keystore
的path。
有关详细信息,请访问http://code.google.com/android/add-ons/google-apis/mapkey.html#getdebugfingerprint
取决于你的Eclipse版本(我正在使用Kepler)。 转到Windows>首选项> Android>生成。
您可以finddebugging密钥库的位置path以及SHA1指纹(您可以将其复制并使用)
keytool位于JDK的bin目录($ JAVA_HOME / bin)中。 JAVA_HOME是您的JDK安装目录。 要使用该命令行,还应该将$ JAVA_HOME / bin包含到PATH环境variables中。
KEYTOOL是在JAVAC SDK中的。所以你必须在contaijns javac的目录里面find它
keytool
附带了JDK。 如果你正在使用cygwin,那么这可能已经在你的路上了。 否则,您可能会在JDK的bin文件夹中进行挖掘。
你可能需要使用cygwin来pipe理shellpipe道( |
)。
Keytool是Java SDK的一部分。 您应该能够在Java SDK目录中find它,例如C:\ Program Files \ Java \ jdk1.6.0_14 \ bin
几乎没有观察到,而我得到同样的问题(Windows)。 1.壳pipe是重要的。 2.如果您使用的是OpenSSL或Cygwin,那么一定要安装它。 3. keytool自带了JDK,所以你必须在命令中指向它,或者你有cd到JDK / bin文件夹(exe文件所在的位置)。4.debugging密钥库通常位于〜/ .android / debug.keystore 5.密码是“android”,无论您是否通过键盘input,或在出现提示时键入密码。 6.对于别名,您可以使用任何编辑器打开(不保存,只是打开和closures)密钥库文件并读取它。 7.最重要的 – 有一个不同之处是在引号内和没有引号内指定keystorepath。 我通过使用双引号内的密钥库path得到了它的工作。 正如remix090378所说的那样,按照指令 ,这个命令确实有效 – cd C:\ Program Files \ Java \ jdk1.7.0_09 \ bin
keytool -exportcert -alias androiddebugkey -keystore“C:\ Users \ userName.android \ debug.keystore”-list -v
在cmd窗口(需要以pipe理员身份运行),
cd %JAVA_HOME%
只有当你设置你的系统环境variablesJAVA_HOME时才有效。 要为你的path设置你的系统variables,你可以这样做
setx %JAVA_HOME% C:\Java\jdk1.8.0_121\
然后,你可以input
cd c:\Java\jdk1.8.0_121\bin
要么
cd %JAVA_HOME%\bin
然后,执行JAVA jdk提供的任何命令,如
keytool -genkey -v -keystore myapp.keystore -alias myapp
你只需要回答问题(等同于在cmd行上input值),然后按回车键! 关键会产生
Robby Pond
的答案可以概括为使用JAVA_HOME
环境variables,也可以补偿path中可能出现的空白(如Program Files
):
"%JAVA_HOME%\bin\keytool" -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64