Android应用程序不会启动noClassDefFoundError

我正在为Android创build一个GPS应用程序! 现在我偶然发现了一个问题。 该应用程序根本不启动…任何想法如何解决这个问题?

04-05 12:54:50.877: D/dalvikvm(540): Not late-enabling CheckJNI (already on) 04-05 12:54:51.018: I/dalvikvm(540): Turning on JNI app bug workarounds for target SDK version 5... 04-05 12:54:51.417: I/dalvikvm(540): Could not find method org.acra.ACRA.init, referenced from method com.kulplex.gaia.GaiaApp.onCreate 04-05 12:54:51.417: W/dalvikvm(540): VFY: unable to resolve static method 652: Lorg/acra/ACRA;.init (Landroid/app/Application;)V 04-05 12:54:51.417: D/dalvikvm(540): VFY: replacing opcode 0x71 at 0x0000 04-05 12:54:51.457: D/AndroidRuntime(540): Shutting down VM 04-05 12:54:51.457: W/dalvikvm(540): threadid=1: thread exiting with uncaught exception (group=0x409c01f8) 04-05 12:54:51.477: E/AndroidRuntime(540): FATAL EXCEPTION: main 04-05 12:54:51.477: E/AndroidRuntime(540): java.lang.NoClassDefFoundError: org.acra.ACRA 04-05 12:54:51.477: E/AndroidRuntime(540): at com.kulplex.gaia.GaiaApp.onCreate(GaiaApp.java:54) 04-05 12:54:51.477: E/AndroidRuntime(540): at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:969) 04-05 12:54:51.477: E/AndroidRuntime(540): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:3954) 04-05 12:54:51.477: E/AndroidRuntime(540): at android.app.ActivityThread.access$1300(ActivityThread.java:123) 04-05 12:54:51.477: E/AndroidRuntime(540): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1185) 04-05 12:54:51.477: E/AndroidRuntime(540): at android.os.Handler.dispatchMessage(Handler.java:99) 04-05 12:54:51.477: E/AndroidRuntime(540): at android.os.Looper.loop(Looper.java:137) 04-05 12:54:51.477: E/AndroidRuntime(540): at android.app.ActivityThread.main(ActivityThread.java:4424) 04-05 12:54:51.477: E/AndroidRuntime(540): at java.lang.reflect.Method.invokeNative(Native Method) 04-05 12:54:51.477: E/AndroidRuntime(540): at java.lang.reflect.Method.invoke(Method.java:511) 04-05 12:54:51.477: E/AndroidRuntime(540): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 04-05 12:54:51.477: E/AndroidRuntime(540): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 04-05 12:54:51.477: E/AndroidRuntime(540): at dalvik.system.NativeStart.main(Native Method) 

Solutions Collecting From Web of "Android应用程序不会启动noClassDefFoundError"

如果你最近更新到ADT 17及以上,他们已经改变了lib库的处理。

所以你需要重新命名你的lib目录libs ,然后右键单击您的项目>属性> Java构buildpath>库>select所有的瓶子上有错误标记,然后单击remove >单击add JARs >从新的libsselect所有jar子目录。

希望这可以帮助。

更新到最新的Android工具后,我也遇到了同样的问题。

在项目属性,Java Build Path,Order and Export部分中,我必须确保Android专用库已被选中。

然后,我不得不清理这个项目。 之后,它似乎工作。

这确实是Java Build Path的“Order and Export”的一个问题。

升级时,新“Android私有库”的“订购和导出”并不总是被检查。 android-support-v4.jar现在在这个“Android私有库”部分。

要解决这个问题,请转到“订购和导出”并检查“Android专用库”。 然后刷新/清理/重build。

在为图书馆项目完成这个“修复”后,您可能需要closures并重新打开任何依赖的项目,因为他们可能不会立即看到这个“修复”。

我在这里find了答案。