Android应用程序不会启动noClassDefFoundError

Hen*_*ang 8 error-handling android android-emulator logcat acra

我正在为android创建一个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)
Run Code Online (Sandbox Code Playgroud)

Leo*_*dau 21

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

在项目属性,Java构建路径,订单和导出部分,我必须确保已检查Android私有库.

然后我不得不清理项目.之后它似乎有效.

这确实是Java Build Path的"Order and Export"问题.

升级时,并不总是检查新"Android私有库"的"订购和导出".android-support-v4.jar现在位于"Android私有库"部分.

要解决此问题,请转到"订购和导出"并选中"Android私有库".然后刷新/清理/重建.

在为库项目完成此"修复"之后,您可能需要关闭并重新打开任何依赖项目,因为他们可能不会立即看到此"修复".

我在这里找到了答案.


mar*_*mor 18

如果您最近更新到ADT 17及更高版本,他们已经更改了lib库处理.

所以你需要重命名你的lib目录libs,然后右键单击你的项目>属性> Java构建路径>库>选择所有带有错误标记的罐子,然后单击remove>单击add JARs>从新libs目录中选择所有罐子.

希望这可以帮助.