花了几个小时搞清楚如何签署一个应用程序(最后我使用了eclipse,而不是命令行),我想为我的应用程序here创建一个密钥哈希。 为此,我在C:\ Users \ Family \ workspace \ MyKeys文件夹中创建了sample.keystore和samplesigned.apk,以及keytool.exe和jli.dll。
在cmd.exe中,我导航到C:\ Users \ Family \ workspace \ MyKeys,当我运行此命令时:
keytool -exportcert -alias samplekey -keystore sample.keystore
我得到了这个乱码:
samplekey是在eclipse中创建的密钥的别名:
我从here下载open ssl并将其安装到C:\ Program Files \ GnuWin32中。在命令行中导航我尝试了这个命令:openssl -help,这导致了一个命令列表,这意味着我正确地安装了它(我希望)。
现在我尝试这段代码:
C:\Users\Family\workspace\MyKeys>keytool -exportcert -alias samplekey -keystore sample.keystore | c:\program files\gnuwin32\bin\openssl sha1 -binary | c:\program f
iles\gnuwin32\bin\openssl base64
错误:'c:\ program'未被识别为内部或外部命令, 可操作程序或批处理文件。
我还在环境变量的PATH中添加了C:\ Program Files \ GnuWin32 \ bin。
我有点失落。
答案 0 :(得分:5)
您需要在命令中引用路径,否则它将在第一个空间中断开(即
C:\Users\Family\workspace\MyKeys>keytool -exportcert -alias samplekey -keystore sample.keystore | "c:\program files\gnuwin32\bin\openssl" sha1 -binary | "c:\program f
iles\gnuwin32\bin\openssl" base64
)。
不确定这是否是真正的问题,但请尝试一下。