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

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

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

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


当前回答

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

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

其他回答

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

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

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

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

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

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

在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,你将能够运行实际的实用程序。