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

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

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

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


当前回答

我在另一个帖子上发现了这个,它没有得到很多赞,但它对我非常有帮助。把它加在这里。

Android Studio会自带一个按键工具。

C:\Program Files\Android\Android Studio\jre\bin

你可以在下面看到Richar Heap的帖子,其中有一个有用的参考。我以前确实见过,但忘了。https://stackoverflow.com/a/51524526/4446406

其他回答

keytool位于JDK的bin目录下($JAVA_HOME/bin)。JAVA_HOME是JDK安装目录。 要使用该命令行,还应该在PATH环境变量中包含$JAVA_HOME/bin。

在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行上输入值)!密钥将被生成

#进入cacerts或jsk所在路径,打开并在cmd下运行以下命令

Keytool -v -list -keystore cacerts

Keytool -v -list -keystore .jks

假设您已经在系统中安装了Java,最好是JDK(因为您在问题中提到了它,所以适用于Windows),您应该在安装的bin文件夹中有keytool实用程序。

如果是这种情况,接下来要做的就是将该bin文件夹添加到Windows安装的PATH环境变量中。

下次你将打开一个Windows shell,你将键入keytool,你将能够运行实际的实用程序。

我自己找到了一个解决方案,如下所示。它工作得很好。

"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