Android应用程序在Dalvik上运行,但在Android Runtime上崩溃并显示NoClassDefFoundError。

3

我的应用在Dalvik上运行良好,但是当我尝试在ART上运行它时,出现了NoClassDefFoundError错误。我使用的是Android Studio 0.6.1

以下是堆栈跟踪信息:

06-20 16:13:05.376  16008-16008/com.myapp.android I/art﹕ Rejecting re-init on
previously-failed class java.lang.Class<net.sf.cglib.transform.AbstractProcessTask>
06-20 16:13:05.376  16008-16008/com.myapp.android D/AndroidRuntime﹕ Shutting down VM
06-20 16:13:05.376  16008-16008/com.myapp.android E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.myapp.android, PID: 16008
java.lang.NoClassDefFoundError: net.sf.cglib.transform.AbstractProcessTask
        at java.lang.Class.classForName(Native Method)
        at java.lang.Class.forName(Class.java:305)
        at com.droidbase.Loader.getClassForFile(Loader.java:155)
        at com.droidbase.Loader.getClassesForFiles(Loader.java:145)
        at com.droidbase.Loader.getAllClasses(Loader.java:64)
        at com.droidbase.Loader.getClassesExtending(Loader.java:54)
        at com.droidbase.DroidBase.getModels(DroidBase.java:87)
        at com.droidbase.DroidBase.loadModels(DroidBase.java:97)
        at com.droidbase.DroidBase.setup(DroidBase.java:66)
        at com.droidbase.DroidBase.initialize(DroidBase.java:23)
        at com.droidbase.DroidBase.setup(DroidBase.java:27)
        at com.myapp.android.MyApplication.onCreate(MyApplication.java:22)
        at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1007)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4328)
        at android.app.ActivityThread.access$1500(ActivityThread.java:135)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:136)
        at android.app.ActivityThread.main(ActivityThread.java:5001)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)

尝试找到问题的来源,将代码块注释掉直到问题消失,然后逐步确定问题所在,并向我们提供引起问题的代码,这样我们就有更好的机会帮助你。 - Nick
似乎net.sf.cglib.transform.AbstractProcessTask未通过ART类验证器。日志中应该有更多相关信息。 - HHK
日志中没有其他信息,所以我认为这不是类验证器失败的问题... - Prashan Dharmasena
1个回答

2

我发现我的Gradle文件缺少一个依赖项。在我的情况下,我需要在我的依赖项中添加以下行:compile 'org.apache.ant:ant:1.9.4'。为什么这在Dalvik上可以工作但在ART上不行,我不知道。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接