Failure to verify dex file xxxxxxxx Out-of-order type_ids: 336a then 336a 解决方案

发布于:2024-10-11 ⋅ 阅读:(7) ⋅ 点赞:(0)
java.lang.ClassNotFoundException: Didn't find class "androidx.core.app.CoreComponentFactory" on path: DexPathList[[zip file "/data/app/~~gRtQsNlq6SPO5H_0WzL7Mw==/pkgname-oRcg1mUtITJQ9lHifAN22g==/base.apk"],nativeLibraryDirectories=[/data/app/~~gRtQsNlq6SPO5H_0WzL7Mw==/com.android.xsrctssij.azctsboost-oRcg1mUtITJQ9lHifAN22g==/lib/arm64, /data/app/~~gRtQsNlq6SPO5H_0WzL7Mw==/com.android.xsrctssij.azctsboost-oRcg1mUtITJQ9lHifAN22g==/base.apk!/lib/arm64-v8a, /system/lib64, /system/system_ext/lib64, /vendor/lib64, /odm/lib64]]
                                                                                                      at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:207)
                                                                                                      at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
                                                                                                      at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
                                                                                                      at android.app.LoadedApk.createAppFactory(LoadedApk.java:290)
                                                                                                      at android.app.LoadedApk.createOrUpdateClassLoaderLocked(LoadedApk.java:985)
                                                                                                      at android.app.LoadedApk.getClassLoader(LoadedApk.java:1038)
                                                                                                      at android.app.LoadedApk.getResources(LoadedApk.java:1270)
                                                                                                      at android.app.ContextImpl.createAppContext(ContextImpl.java:2750)
                                                                                                      at android.app.ContextImpl.createAppContext(ContextImpl.java:2742)
                                                                                                      at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7161)
                                                                                                      at android.app.ActivityThread.access$1700(ActivityThread.java:299)
                                                                                                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2184)
                                                                                                      at android.os.Handler.dispatchMessage(Handler.java:106)
                                                                                                      at android.os.Looper.loop(Looper.java:264)
                                                                                                      at android.app.ActivityThread.main(ActivityThread.java:8312)
                                                                                                      at java.lang.reflect.Method.invoke(Native Method)
                                                                                                      at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:632)
                                                                                                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1049)
                                                                                                      Suppressed: java.io.IOException: Failed to open dex files from /data/app/~~gRtQsNlq6SPO5H_0WzL7Mw==/pkgname-oRcg1mUtITJQ9lHifAN22g==/base.apk because: Failure to verify dex file '/data/app/~~gRtQsNlq6SPO5H_0WzL7Mw==/pkgname-oRcg1mUtITJQ9lHifAN22g==/base.apk': Out-of-order type_ids: 336a then 336a
                                                                                                         at dalvik.system.DexFile.openDexFileNative(Native Method)
                                                                                                         at dalvik.system.DexFile.openDexFile(DexFile.java:379)
                                                                                                         at dalvik.system.DexFile.<init>(DexFile.java:112)
                                                                                                         at dalvik.system.DexFile.<init>(DexFile.java:85)
                                                                                                         at dalvik.system.DexPathList.loadDexFile(DexPathList.java:439)
                                                                                                         at dalvik.system.DexPathList.makeDexElements(DexPathList.java:398)
                                                                                                         at dalvik.system.DexPathList.<init>(DexPathList.java:166)
                                                                                                         at dalvik.system.BaseDexClassLoader.<init>(BaseDexClassLoader.java:129)
                                                                                                         at dalvik.system.BaseDexClassLoader.<init>(BaseDexClassLoader.java:104)
                                                                                                         at dalvik.system.PathClassLoader.<init>(PathClassLoader.java:74)
                                                                                                         at com.android.internal.os.ClassLoaderFactory.createClassLoader(ClassLoaderFactory.java:87)
                                                                                                         at com.android.internal.os.ClassLoaderFactory.createClassLoader(ClassLoaderFactory.java:116)
                                                                                                         at android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:114)
                                                                                                         at android.app.ApplicationLoaders.getClassLoaderWithSharedLibraries(ApplicationLoaders.java:60)
                                                                                                         at android.app.LoadedApk.createOrUpdateClassLoaderLocked(LoadedApk.java:981)
                                                                                                         ... 13 more

上边最有价值的信息就是
type_ids: 336a then 336a

解决方法
第一:把你的apk后缀改成zip,然后解压缩这个zip,获取到里面dex文件,当然你的apk有可能会有几个dex,这个时候要仔细看你的报错信息,有的会是dex2,有的是dex
第二:打开 010Editor 软件,然后把dex文件拖动到 010Editor中,找 336a 这个16进制的值,这里要打开 struct type_id_list dex_type_ids 里面
截图如下
在这里插入图片描述
在这里插入图片描述
这样你就知道是那个类,出的问题了,其实打包的过程中,会编排dex文件,查到问题你可以keep住这个类不被混淆即可

感谢下边作者的分享
https://blog.csdn.net/u014653748/article/details/126545124