我正在这里阅读Facebook开发者的开发指南

它说,我必须使用keytool导出签名为我的应用程序,如:

keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64

我不知道如何找到关键工具,以运行它。我试图打开Windows命令提示符并粘贴上述命令,但它不起作用。


当前回答

只需在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密钥;选择一个你需要的。

其他回答

JDK自带keytool。如果您正在使用cygwin,那么这可能已经在您的路径上了。否则,您可能会在JDK的bin文件夹中查找。

为了使shell管道(|)正常工作,您可能需要使用cygwin。

在我的例子中,我已经使用ionic cordova build android——prod命令生成了一个APK文件,我需要为已经存在的APK文件获取SHA-1指纹。下面是我如何通过在App目录中运行以下命令来获得它:

Keytool -list -printcert -jarfile app-debug.apk

所以,我基本上在以下应用程序位置运行上述命令:

C:\myApp\platforms\android\app\build\outputs\apk\debug>keytool -list -printcert -jarfile app-debug.apk

这给了我SHA1指纹为:7B:6B:AD:…

希望这能帮助到一些人!

Robby Pond的回答可以概括为使用JAVA_HOME环境变量,并补偿路径中可能出现的任何空白(如Program Files):

"%JAVA_HOME%\bin\keytool" -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64

Android:在Android中执行keytool命令的位置

如果在classpath变量中设置了JRE,则可以在dos命令提示符下运行Keytool命令。

例如,如果您想获取android SDK调试证书的MD5指纹,

只需运行以下命令…

C:\Documents and Settings\user\.android>  keytool -list -alias androiddebugkey -keystore debug.keystore -storepass android -keypass android

C:\Documents and Settings\user\.Android >是包含调试的路径。必须经过认证的密钥存储库。

详情请访问http://code.google.com/android/add-ons/google-apis/mapkey.html#getdebugfingerprint

在cmd窗口(需要以管理员身份运行),

cd %JAVA_HOME% 

只有在设置了系统环境变量JAVA_HOME后才有效。要为路径设置系统变量,可以这样做

setx %JAVA_HOME% C:\Java\jdk1.8.0_121\

然后你就可以打字了

cd c:\Java\jdk1.8.0_121\bin

or

cd %JAVA_HOME%\bin

然后,执行JAVA jdk提供的任何命令,例如

keytool -genkey -v -keystore myapp.keystore -alias myapp

你只需要按回车键后回答问题(相当于在cmd行上输入值)!密钥将被生成