sign android apk with existing .keystore

时间:2011-12-22 17:40:13

标签: android apk

我正在使用Eclipse,除了在windows-> preferences-> android-> build中指定的默认密钥库路径外,我没有在eclipse中指定任何其他自定义密钥库路径。

我在两个位置有debug.keystore。一个在默认路径中,另一个在c:\ customised_pa​​th中。 但是,当我想要生成证书时:

  

keytool -genkey -v -keystore debug.keystore -alias androiddebugkey -keyalg RSA -keysize 2048 -validity 20000   它将在java \ bin文件夹中生成debug.keystore。

如果我尝试:

C:\Java\jdk1.6.0_25\bin>keytool -genkey -v -keystore C:\default_path\.android\d
ebug.keystore
keytool error: java.io.IOException: Invalid keystore format
java.io.IOException: Invalid keystore format
        at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:633)
        at sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:3
8)
        at java.security.KeyStore.load(KeyStore.java:1185)
        at sun.security.tools.KeyTool.doCommands(KeyTool.java:620)
        at sun.security.tools.KeyTool.run(KeyTool.java:172)
        at sun.security.tools.KeyTool.main(KeyTool.java:166)

它也会在自定义路径中生成相同的错误。

我在两个文件夹中都有debug.keystore,我仍然会这样:

C:\Java\jdk1.6.0_25\bin>keytool -list
keytool error: java.lang.Exception: Keystore file does not exist: C:\customiesed_path\.keystore

和     C:\ Java \ jdk1.6.0_25 \ bin> keytool -list -keystore C:\ the_default_path_specified_in_eclipse.keystore     keytool错误:java.lang.Exception:密钥库文件不存在:C:\ default_path

Eclipse正在使用默认文件夹中的.keystore来对apk进行签名,并且我在默认文件夹中有.keystore,但它只是不允许我签名并在我尝试运行时给出了恼人的错误我的应用程序。

请问有人帮忙吗?

1 个答案:

答案 0 :(得分:0)

宾果!问题解决了!似乎.keystore以某种方式被更改,并且在我重新下载之后,它再次起作用。

我重新下载了我需要使用的.keystore并再次运行eclipse。现在一切正常了。因此,下次有人使用现有密钥生成apk文件时出现问题,请考虑eclipse中的“run”而不是cmd以及下载新的密钥库。

还有一件事:登录调试模式与发布模式不同! Eclipse使用“run”登录调试模式。使用命令行不起作用,因为它们只是用于发布。