如何修复将字节码转换为 dex 的错误原因:com.android.dex.DexException:多个 dex 文件定义 Lorg/apache/http/conn/ssl/AbstractVer

Posted

技术标签:

【中文标题】如何修复将字节码转换为 dex 的错误原因:com.android.dex.DexException:多个 dex 文件定义 Lorg/apache/http/conn/ssl/AbstractVerifier? [复制]【英文标题】:How to fixed error converting bytecode to dex Cause:com.android.dex.DexException:Multiple dex files define Lorg/apache/http/conn/ssl/AbstractVerifier? [duplicate] 【发布时间】:2018-04-21 04:29:03 【问题描述】:

我更新了 android studio 和构建工具。

我遇到了这样的错误:

错误:将字节码转换为 dex 时出错: 原因:com.android.dex.DexException: 多个dex文件定义了Lorg/apache/http/conn/ssl/AbstractVerifier;

Error:com.android.dex.DexException: Multiple dex files define Lorg/apache/http/conn/ssl/AbstractVerifier;
Error:  at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:661)
Error:  at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:616)
Error:  at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:598)
Error:  at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)
Error:  at com.android.dx.merge.DexMerger.merge(DexMerger.java:198)
Error:  at com.android.builder.dexing.DexArchiveMergerCallable.call(DexArchiveMergerCallable.java:61)
Error:  at com.android.builder.dexing.DexArchiveMergerCallable.call(DexArchiveMergerCallable.java:36)
Error:  at java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1424)
Error:  at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
Error:  at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
Error:  at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
Error:  at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
Error:Execution failed for task ':app:transformDexArchiveWithDexMergerForDevelopmentDebug'.

com.android.build.api.transform.TransformException: com.android.dex.DexException: 多个dex文件定义Lorg/apache/http/conn/ssl/AbstractVerifier;

【问题讨论】:

你用谷歌搜索过你的问题吗? 【参考方案1】:

当您的应用及其引用的库超过 65,536 个方法时,您会遇到构建错误,表明您的应用已达到 Android 构建架构的限制 ,请查看link

【讨论】:

似乎这是一个不同的问题。当然错误信息是不同的。 我已经在我的应用 gradle 文件中添加了 multiDexEnabled = true 看到这个帖子***.com/a/27284064/4797289

以上是关于如何修复将字节码转换为 dex 的错误原因:com.android.dex.DexException:多个 dex 文件定义 Lorg/apache/http/conn/ssl/AbstractVer的主要内容,如果未能解决你的问题,请参考以下文章

如何将 smali 文件i转换成java文件?

Android 逆向启动 DEX 字节码中的 Activity 组件 ( 使用 DexClassLoader 获取组件类失败 | 失败原因分析 | 自定义类加载器没有加载组件类的权限 )

ASM字节码插桩

D8和R8安卓的区别

下一代Dex编译器现已进入预览阶段

Android 逆向启动 DEX 字节码中的 Activity 组件 ( DEX 文件准备 | 拷贝资源目录下的文件到内置存储区 | 配置清单文件 | 启动 DEX 文件中的组件 | 执行结果 )(代