我的理解是,如果你导出 - >在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或我的机器人)运行它时应用程序正常工作。验证问题也可能是导致这种情况的原因吗?
答案 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中使用keytool
和jarsigner
。
确保你没有做同样的事情,你的APK也没关系。
让我知道它是否适合你。