1

我遇到了一个涉及 ClassNotFoundException 的问题。当我从 Eclipse 中“作为 android 应用程序运行”时,它工作正常,但是当我从 Google Play 下载它(相同的源代码但“导出为签名的应用程序”)时,它会因以下堆栈跟踪而崩溃:

java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.larphoid.aeboing/com.larphoid.aeboing.BoingBoing}: java.lang.ClassNotFoundException: com.larphoid.aeboing.BoingBoing in loader dalvik.system.PathClassLoader[/data/app/com.larphoid.aeboing-1.apk]     
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2703)   
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2797)    
    at android.app.ActivityThread.access$2300(ActivityThread.java:135)  
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2132)     
    at android.os.Handler.dispatchMessage(Handler.java:99)  
    at android.os.Looper.loop(Looper.java:143)  
    at android.app.ActivityThread.main(ActivityThread.java:4914)    
    at java.lang.reflect.Method.invokeNative(Native Method)     
    at java.lang.reflect.Method.invoke(Method.java:521)     
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)  
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)     
    at dalvik.system.NativeStart.main(Native Method) 
Caused by: java.lang.ClassNotFoundException: com.larphoid.aeboing.BoingBoing in loader dalvik.system.PathClassLoader[/data/app/com.larphoid.aeboing-1.apk]     
    at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)    
    at java.lang.ClassLoader.loadClass(ClassLoader.java:573)    
    at java.lang.ClassLoader.loadClass(ClassLoader.java:532)    
    at android.app.Instrumentation.newActivity(Instrumentation.java:1033)   
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2695)   
... 11 more

我以前从未遇到过这个问题,而且我还没有“阅读” Stacktraces 的经验,所以我对此感到非常困惑。如果有人有一些指示或解决方案,我将不胜感激。

谢谢。

4

3 回答 3

4

要从另一个问题中复制它,因为我之前遇到过完全相同的问题,这就是我修复它的方法:

如果您正在运行 adt rev 22,您可能不会导出您的库。我不知道谷歌为什么会这样做,但在最新的革命中,你必须检查以确保你自己导出你的库。

右键单击您的项目,单击 Properties,然后检查 Java Build Path 下的 Order & Export。如果要导出所有内容,它应该如下所示:

在此处输入图像描述 之后,重建应用程序并再次导出。它现在应该可以工作了。要进行测试,只需手动将 .apk 安装到您的手机上,然后再将其放到商店中以确保其正常工作。

于 2013-06-25T14:08:30.820 回答
1

ClassNotFoundException表示类路径中缺少某些内容。也许您在类路径中缺少一个库。

顾名思义,Java 中的 classNotFoundException 是 java.lang.Exception 的子类,当 Java 虚拟机尝试加载特定类并且在类路径中找不到请求的类时出现。

于 2013-06-25T14:01:44.433 回答
0

也许你changepackage name签署你的 apk 时是你的。检查您的packageclass name

于 2013-06-25T14:02:43.593 回答