Android应用运行报错:Duplicate zip entry问题求助
解决Android项目中simple-xml依赖冲突及多Dex写入错误
这种报错典型是依赖冲突导致的——你自己声明用simple-xml-2.3.4.jar,但项目里某个第三方依赖间接引入了simple-xml-2.7.1.jar,两个版本的库包含相同的类文件(比如org/simpleframework/xml/Attribute.class),打包时就会触发重复条目错误,进而引发多Dex的写入异常。
下面是具体的解决步骤:
第一步:定位冲突来源
打开终端,在项目根目录执行Gradle依赖分析命令:# Windows系统 gradlew.bat app:dependencies # Mac/Linux系统 ./gradlew app:dependencies在输出结果里搜索
simple-xml,找到标注版本为2.7.1的依赖项,看它是被哪个第三方库带进来的。第二步:排除冲突依赖
找到引入2.7.1版本的第三方库后,在你的app/build.gradle里给该依赖添加排除规则,比如发现是com.example:some-library:2.0.0引入的,就修改为:implementation('com.example:some-library:2.0.0') { // 排除该依赖带进来的simple-xml库 exclude group: 'org.simpleframework', module: 'simple-xml' }如果多个依赖都引入了不同版本的simple-xml,也可以全局强制使用你需要的2.3.4版本:
configurations.all { resolutionStrategy.force 'org.simpleframework:simple-xml:2.3.4' }第三步:清理并重建项目
执行清理命令清除旧的构建缓存:# Windows gradlew.bat clean # Mac/Linux ./gradlew clean之后重新同步Gradle并构建项目,重复类的问题应该就能解决,多Dex的写入错误也会随之消失。
内容的提问来源于stack exchange,提问作者alfo888_ibg




