如何解决com.android.build.gradle.internal.tasks.CheckDuplicatesRunnable执行失败问题
解决方案
版本降级不是解决该问题的唯一方案,可根据实际场景选择以下更低成本的处理方式:
- 方案1:引入依赖时排除冲突的传递依赖
该问题的核心原因是com.github.JakeWharton:ViewPagerIndicator:2.4.1依赖的旧版Android Support库经Jetifier转换后,与项目中的高版本AndroidX核心库产生类冲突。你可以在引入该依赖时排除其传递的冲突依赖,优先使用项目统一的AndroidX版本:dependencies { implementation ('com.github.JakeWharton:ViewPagerIndicator:2.4.1') { exclude group: 'com.android.support' exclude group: 'androidx.collection' exclude group: 'androidx.core' } } - 方案2:全局强制指定AndroidX依赖版本
若排除传递依赖后仍存在冲突,可在项目级build.gradle中添加全局依赖版本强制配置:configurations.all { resolutionStrategy { // 可根据项目实际使用的AndroidX版本调整下方版本号 force 'androidx.collection:collection:1.2.0' force 'androidx.core:core:1.7.0' // 其余冲突的AndroidX组件均可按上述格式添加统一版本规则 } } - 方案3:打包时剔除重复类
如果冲突是因为ViewPagerIndicator的安装包中直接内置了Support库的类文件,可通过打包配置直接剔除重复的类:android { packagingOptions { exclude 'androidx/collection/LruCache.class' exclude 'androidx/core/app/ActivityCompat.class' // 其余重复类按相同路径格式添加即可 } } - 方案4:替换为AndroidX适配版本
若上述方案均存在兼容性问题,可直接替换为社区已适配AndroidX的ViewPagerIndicator衍生版本,原有业务调用代码无需修改,成本远低于整体项目版本降级。
所有方案操作完成后,都需要先执行
Clean Project清理构建缓存后再重新编译,避免缓存导致问题未生效。
内容的提问来源于stack exchange,提问作者Learning Always
相关产品推荐
相关产品推荐

