构建Android应用出现Entry name 'classes.dex' collided报错如何解决
classes.dex 冲突构建报错解决方案 错误详情(原文翻译)
执行
com.android.build.gradle.tasks.PackageAndroidArtifact$IncrementalSplitterRunnable时发生失败
条目名称classes.dex冲突
该报错属于Android Gradle插件(AGP)增量打包任务的已知问题,触发场景为切换不同架构/类型的构建目标设备时,旧的构建缓存未被自动清理导致文件冲突。
即时解决方法
无需多次重启IDE、清理全局缓存或重置模拟器,按以下步骤操作即可快速恢复:
- 优先执行顶部菜单栏
Build > Clean Project,清理完成后直接构建目标版本,90%以上场景可在1分钟内解决问题 - 若清理项目无效,手动删除项目根目录下的
build文件夹、对应业务module目录下的build文件夹后重新构建 - 仅当上述操作均无效时,卸载目标设备上已安装的对应应用即可,不需要重置模拟器
永久规避方案
- 升级Android Gradle插件至7.0.4及以上版本,该缓存冲突问题已在后续AGP版本中官方修复,升级后不会再触发同类问题
- 若需保留当前AGP版本,可在module级
build.gradle文件的android闭包中添加如下配置,禁用增量打包功能规避冲突:
android { packagingOptions { incremental false } }
- 日常开发切换构建目标设备前,主动执行一次
Clean Project,可提前避免缓存冲突
内容的提问来源于stack exchange,提问作者Martin
相关产品推荐
相关产品推荐

