无法验证 dex 文件乱序 annotation_element name_idx

Failure to verify dex file Out-of-order annotation_element name_idx

我需要你的帮助。从 :

更新 gradle 时出现运行时错误

至:

错误日志: E/AndroidRuntime:致命异常:main 进程:id.android.steven.dev,PID:5539 java.lang.RuntimeException: 无法实例化应用程序 id.android.steven.MyApplication: java.lang.ClassNotFoundException: 在路径 DexPathList[[zip 文件 " /data/app/id.android.steven.dev-2/base.apk"],nativeLibraryDirectories=[/data/app/id.android.teven.dev-2/lib/arm,/data/app/id.android.steven.dev-2/base.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib]] 在 android.app.LoadedApk.makeApplication(LoadedApk.java:846) 在 android.app.ActivityThread.handleBindApplication(ActivityThread.java:5944) 在 android.app.ActivityThread.-wrap3(ActivityThread.java) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1710) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:154) 在 android.app.ActivityThread.main(ActivityThread.java:6776) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1496) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1386) 原因:java.lang.ClassNotFoundException:在路径上找不到 class "id.android.steven.MyApplication":DexPathList[[zip 文件“/data/app/id.android.steven.dev-2/base.apk"],nativeLibraryDirectories=[/data/app/id.android.steven.dev-2/lib/arm,/data/app/id.android.steven.dev-2/base.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib]] 在 dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:380) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:312) 在 android.app.Instrumentation.newApplication(Instrumentation.java:1000) 在 android.app.LoadedApk.makeApplication(LoadedApk.java:835) 在 android.app.ActivityThread.handleBindApplication(ActivityThread.java:5944) 在 android.app.ActivityThread.-wrap3(ActivityThread.java) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1710) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:154) 在 android.app.ActivityThread.main(ActivityThread.java:6776) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1496) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1386) 抑制:java.io.IOException:无法从 /data/app/id.android.steven.dev-2/base.apk 打开 dex 文件因为:无法验证 dex 文件'/data/app/id.android.steven.dev-2/base.apk':乱序 annotation_element name_idx:681e 然后 681e 在 dalvik.system.DexFile.openDexFileNative(本机方法) 在 dalvik.system.DexFile.openDexFile(DexFile.java:373) 在 dalvik.system.DexFile.(DexFile.java:113) 在 dalvik.system.DexFile.(DexFile.java:78) 在 dalvik.system.DexPathList.loadDexFile(DexPathList.java:359) 在 dalvik.system.DexPathList.makeElements(DexPathList.java:323) 在 dalvik.system.DexPathList.makeDexElements(DexPathList.java:263) 在 dalvik.system.DexPathList.(DexPathList.java:126) 在 dalvik.system.BaseDexClassLoader.(BaseDexClassLoader.java:48) 在 dalvik.system.PathClassLoader.(路径ClassLoader.java:64) 在 com.android.internal.os.PathClassLoaderFactory.createClassLoader(PathClassLoaderFactory.java:43) 在 android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:58) 在 android.app.LoadedApk.createOrUpdateClassLoaderLocked(LoadedApk.java:535) 在 android.app.LoadedApk.getClassLoader(LoadedApk.java:568) 在 android.app.ActivityThread.getTopLevelResources(ActivityThread.java:2053) 在 android.app.LoadedApk.getResources(LoadedApk.java:787) 在 android.app.ContextImpl.(ContextImpl.java:2266) 在 android.app.ContextImpl.createAppContext(ContextImpl.java:2210) 在 android.app.ContextImpl.createAppContext(ContextImpl.java:2196) 在 android.app.ActivityThread.handleBindApplication(ActivityThread.java:5861) ... 还有 8 个

提前致谢:)

只需检查您的应用程序中是否有-overloadaggressively gradle,此方法强制重载所有方法。如果您使用 -overloadaggressively,只需将其禁用并使用其他方式。

参考this link.