我正在这里阅读Facebook开发者的开发指南
它说,我必须使用keytool导出签名为我的应用程序,如:
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
我不知道如何找到关键工具,以运行它。我试图打开Windows命令提示符并粘贴上述命令,但它不起作用。
我正在这里阅读Facebook开发者的开发指南
它说,我必须使用keytool导出签名为我的应用程序,如:
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
我不知道如何找到关键工具,以运行它。我试图打开Windows命令提示符并粘贴上述命令,但它不起作用。
当前回答
在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行上输入值)!密钥将被生成
其他回答
keytool位于JDK的bin目录下($JAVA_HOME/bin)。JAVA_HOME是JDK安装目录。 要使用该命令行,还应该在PATH环境变量中包含$JAVA_HOME/bin。
KeyTool是JDK的一部分。假设您使用默认设置安装了JDK,您将在$JAVA_HOME/bin中找到它
Robby Pond的回答可以概括为使用JAVA_HOME环境变量,并补偿路径中可能出现的任何空白(如Program Files):
"%JAVA_HOME%\bin\keytool" -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
在我的例子中,我已经使用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:…
希望这能帮助到一些人!
JDK自带keytool。如果您正在使用cygwin,那么这可能已经在您的路径上了。否则,您可能会在JDK的bin文件夹中查找。
为了使shell管道(|)正常工作,您可能需要使用cygwin。