2010-11-24 70 views
15

我想签我的Android应用程序的发布版本(调试签署罚款)为谷歌地图API:的keytool签名问题:密钥库被篡改,或密码不正确

keytool -list -alias cancertrials -keystore /Users/syalam/Documents/workspace/Cancer_Trials/keys/release -storepass android -keypass cancertrials 

,但我得到错误:

java.io.IOException: Keystore was tampered with, or password was incorrect 

我肯定密码是正确的,因为当我尝试我的应用程序导出在Eclipse中,它要求密钥库和密码,我在正确地进入。

不确定为什么我不能签名?我需要以发布模式显示Google地图(在调试模式下工作)。

回答

24

我不认为你必须包括一个商店通行证,当你只是做一个列表。 storepass加密在做列表时不显示的私钥。试试这个:

keytool -list -keystore /Users/salam/Documents/yada/yada 

然后在出现提示时提供您的密钥库密码。如果可行,那么你可以尝试命令行上的keypass。

您可能还想检查并确保使用相同版本的Java。我不认为这是问题所在,但如果上述内容无法帮助您尝试。

+1

这很好。希望谷歌已经在他们的文档中写过这些,会让我头疼! – 2010-11-24 04:40:09

2

当我切换回1.6.0_29 jarsigner正常工作时,jdk1.6.0.31上的jarsigner出现同样的问题。请注意jdk版本。

2

检查您的别名一次。有时你的别名与keytool别名不同,那么它会给出相同的错误。 即

5

不知何故在Windows上,keytool不接受密码。我只需要使用SHA1密码在google开发控制台上的项目上配置客户端ID。以下似乎适用于我

keytool --list --keystore android.jks --protected 

这将打印所有别名的SHA1键。

+0

这适用于我,谢谢! – StevenTB 2016-05-18 14:03:08

0

keytool -list -keystore "Path of the keystore"

此命令将在linux机索要密码,而在Windows机器上,你只需要进入榜单密钥库。

相关问题