java - Android 应用程序在 Dalvik 上运行,但在 Android 运行时因 NoClassDefFoundError 而崩溃

标签 java android

我的应用程序在 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)

最佳答案

事实证明我在我的 Gradle 文件中缺少一个依赖项。在我的例子中,我需要将行 compile 'org.apache.ant:ant:1.9.4' 添加到我的依赖项中。为什么这对 Dalvik 有效但对 ART 无效,这超出了我的理解范围。

关于java - Android 应用程序在 Dalvik 上运行,但在 Android 运行时因 NoClassDefFoundError 而崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24337026/

相关文章:

安卓 : References to a Context and memory leaks

android - 向下滚动时隐藏的 Flutter TabBar 和 SliverAppBar

android - 点赞按钮和 Phonegap 应用程序

Android从后台堆栈中删除 Activity

java - kafka 流标点调用中 context().headers() 修改期间出现异常

java - JTree 节点未按预期添加

java - 通过WIFI从SQL服务器检索数据

android - 有没有办法在 Android 上升级应用程序后重新启动服务?

java - 使用 itext 在 pdf 中打印 xml

java - 用于在近距离区域找到彼此的 GPS 跟踪系统 - Android