我在我的用户中经常遇到错误。应用程序在启动期间崩溃。当MainActivity应该被加载时,VM显然找不到该类。我想不出为什么。该应用程序的架构是,有一个共同的项目,我的免费版和专业版都在使用。不知道这是否相关。请参阅下面的堆栈跟踪。有什么想法吗?
java.lang.NoClassDefFoundError: com.android.common.MainActivity
at com.mycompany.myapp.Splash.onCreate(Splash.java:23)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
at android.app.ActivityThread.access$1500(ActivityThread.java:117)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3687)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: com.android.common.MainActivity in loader dalvik.system.PathClassLoader[/system/framework/com.google.android.maps.jar:/data/app/com.android.pro-1.apk]理查德编辑:感谢你在下面的评论,。现在,我已经将com.android.Splash更改为其他值。不管怎么说,这不是真正的类名。我的错...!
发布于 2012-10-03 13:19:48
我也有同样的问题,我做了以下工作来解决这个问题。
H111I切换它们,以便在”src“H212和G213之前生成"gen”文件夹
gen -项目中的自动化代码(来自依赖项和引用)
src -项目中的源代码
不需要重新启动Eclipse。它才刚刚开始工作。
老实说,我从来没有尝试过"Android工具>修复项目属性“,有时它可能会做同样的事情。我不知道,我只是在看到错误消息后才这样做的,认为构建路径有问题。
编辑
后来,这是不够的,我又得到了错误。然后,我“检查”了该视图中列出的所有依赖项。现在它又能工作了。到目前一切尚好。如果它再次失败,我会保持更新。
仅供参考:在我的最后一次尝试中,我尝试了“安卓工具>修复项目属性”,但它对我来说不起作用。
发布于 2012-10-31 01:21:50
我目前使用的是SDK 20.0.3,之前的解决方案对我都不起作用。
我就能把事情做好
这带来了在构建Android项目时为Dalvik VM而不是Java VM编译的Java类文件。这允许Android Library jar文件中的Java class文件在创建Android项目.apk时通过dexing。现在,当应用程序运行时,找到了Java项目类,而不是抛出Java.lang.NoClassDefFoundError。
如果您想使用jar文件而不是链接源代码,那么您将需要创建一个Library Android项目。(在属性-> Android中签入'is library‘的安卓项目。)然后,您需要如上所述将Java项目的源代码链接到Android库项目,或者将源文件从Java项目的“src”文件夹复制到Android库项目的“src”文件夹。构建Android库项目。然后,您将能够将创建的Android Project jar文件复制到Android文件夹的'libs‘文件夹中,因为其中的类文件是在构建Android项目时为Davlik VM而不是Java VM编译的。这允许Android Library jar文件中的Java class文件在创建Android项目.apk时通过dexing。现在,当应用程序运行时,将找到Java项目类,而不是抛出Java.lang.NoClassDefFoundError。
发布于 2013-06-21 14:13:31
尝试转到项目、->属性、-> Java Build Path、->、Order & Export,并确保您的项目和您正在使用的所有其他库项目都选中了Android Private Libraries。我通过下面的链接NoClassDefFoundError Android Project获得了解决方案
https://stackoverflow.com/questions/8678630
复制相似问题