在Eclipse中为Android应用程序发出签名jar

时间:2014-01-11 23:32:14

标签: java android eclipse jar-signing

我的理解是,如果你导出 - >在Eclipse中导出Android应用程序并按照密钥库和别名的创建,Android应用程序将准备上传到Google play(它将被签名和zipaligned)。

我做了以上操作然后跑了:

  jarsigner -verify my_signed.apk 

并得到以下内容:

  jar verified.
  Warning:
  This jar contains entries whose certificate chain is not validated.

有什么想法吗?当我从市场上下载应用程序时,我得到“classnotfoundexceptions”但是当我从Eclipse(AVD或我的机器人)运行它时应用程序正常工作。验证问题也可能是导致这种情况的原因吗?

3 个答案:

答案 0 :(得分:1)

“ClassNotFoundExceptions”很可能是Proguard的结果。换句话说,如果您使用proguard,某些类必须保留其名称,而不是最终混淆。

当您从Eclipse运行应用程序时,构建的apk文件不会被混淆。

请看这里:http://developer.android.com/tools/help/proguard.html

“默认的proguard.cfg文件试图涵盖一般情况,但是您可能会遇到异常,例如ClassNotFoundException,当ProGuard删除应用程序调用的整个类时会发生这种情况。”

还运行jarsigner,如下所示:jarsigner -verify -keystore

答案 1 :(得分:0)

右键单击您的项目, 选择“属性”, 选择“Java Build Path”,

确保在“库”选项卡中选中“外部依赖关系”。

答案 2 :(得分:0)

上次我遇到这个问题时,我发现我在不同版本的JDK中使用keytooljarsigner

确保你没有做同样的事情,你的APK也没关系。

让我知道它是否适合你。