在build.gradle中添加Chucker与Midtrans库时出现重复类错误
解决Chucker与Midtrans依赖冲突导致的重复类错误
问题根源
Midtrans的UIKit依赖(无论沙箱版还是正式版)内部默认引入了旧版本的Chucker no-op库(3.5.2),而你已经手动声明了Chucker 4.0.0的正式库和no-op库,两个版本的同名类重复,触发编译错误。
解决方案
方案一:排除Midtrans依赖中的Chucker模块
修改你的依赖配置,给Midtrans的UIKit依赖添加排除规则,让它不再自带旧版本的Chucker:
// 沙箱环境依赖 debugImplementation ('com.midtrans:uikit:2.0.0-SANDBOX') { exclude group: 'com.github.chuckerteam.chucker' } // 正式环境依赖 releaseImplementation ('com.midtrans:uikit:2.0.0') { exclude group: 'com.github.chuckerteam.chucker' }
这样项目会完全使用你声明的Chucker 4.0.0版本,避免类重复。
方案二:强制统一Chucker版本(可选)
如果担心排除依赖后出现兼容性问题,可以在项目根目录的build.gradle中添加版本强制规则,让所有依赖都使用你指定的Chucker版本:
allprojects { repositories { // 保持你原有的仓库配置(比如Google、MavenCentral等) } configurations.all { // 强制所有依赖使用Chucker 4.0.0版本 resolutionStrategy.force 'com.github.chuckerteam.chucker:library:4.0.0' resolutionStrategy.force 'com.github.chuckerteam.chucker:library-no-op:4.0.0' } }
验证
修改完成后,同步Gradle并重新编译运行,重复类的编译错误即可解决。
内容的提问来源于stack exchange,提问作者AinulBedjo
相关产品推荐
相关产品推荐

