Android签名应用程序ClassNotFoundException

时间:2011-03-02 05:40:11

标签: android google-play

我有一个在本地部署时工作正常的应用程序。我已经在eclipse中签了它,这是我第一次这样做了。我做了另一个版本,并且在本地工作,但在我签名后,尝试在手机上打开它会立即爆炸:

java.lang.RuntimeException:无法实例化活动ComponentInfo {com.myapp / com.myapp.MyAoo}:java.lang.ClassNotFoundException:com.myapp.MyAoo in loader dalvik.system.PathClassLoader [/ data / app / com.myapp-1.apk

我尝试过卸载并重新安装。一样。本地部署,未签名的应用程序。签署app炸弹。有什么想法吗?

4 个答案:

答案 0 :(得分:4)

您使用的是proguard混淆吗?它只会用于签名的罐子,并将删除它认为“未使用”的类。

尝试将其关闭并重新签名,然后重试。

要禁用,请确保文件:/default.properties不包含proguard.config属性。

请参阅http://developer.android.com/guide/developing/tools/proguard.html了解更多

答案 1 :(得分:1)

事实证明这是一些奇怪的设置。我还没有真正“弄明白”。我使用eclipse导出已签名的包,但我实际上是用intellij开发的。我从想法出口,一切都很好。

答案 2 :(得分:1)

我遇到了完全相同的问题而且让我感到困惑,因为我以前曾多次签名并导出apk而没有任何问题。在禁用ProGuard以确保它不是原因之后,我在Eclipse中清理了项目:

从顶部菜单 - 单击“项目”,在出现的下拉菜单中单击“清除”,选择要清理的项目,然后单击“确定”。

执行此操作后,我能够运行已签名和导出的apk,而不会在启动时崩溃。

答案 3 :(得分:0)

我有同样的问题,我解决了如下:

  1. 创建文件夹" libs"在应用程序的根文件夹上,如果你已经有文件夹" lib"将其重命名为" libs"
  2. 在文件夹" libs"中添加android-support-v4.jar,验证你是否在此文件夹" /你的安装目录/ extras / android / support / v4&#34 ;如果没有来自here
  3. 清理项目:eclipse>>项目>>清洁
  4. 导出已签名的申请
  5. 对我而言,它的工作正常我希望能解决你的问题。