Android Firebase ML Kit条码依赖重复类问题:如何排除冲突类?
解决ML Kit与旧版Firebase条码识别依赖的重复类冲突
你遇到的重复类问题是因为两个条码识别依赖都包含了com.google.android.libraries.barhopper和com.google.barhopper下的相关类,通过Gradle的依赖排除功能就能解决,以下是具体方案:
推荐方案:从旧版Firebase依赖中排除冲突模块
既然你要测试新版ML Kit的性能,优先保留新版com.google.mlkit:barcode-scanning:17.1.0的完整内容,在引入旧版firebase-ml-vision-barcode-model时排除冲突类所在的模块:
implementation('com.google.firebase:firebase-ml-vision-barcode-model:16.1.2') { // 排除冲突的barhopper相关模块 exclude group: 'com.google.android.libraries.barhopper' exclude group: 'com.google.barhopper' }
备选方案:从新版ML Kit依赖中排除冲突模块
如果因特殊需求必须保留旧版的冲突类逻辑,可以反过来从新版ML Kit依赖中排除:
implementation('com.google.mlkit:barcode-scanning:17.1.0') { exclude group: 'com.google.android.libraries.barhopper' exclude group: 'com.google.barhopper' }
验证排除效果
修改配置后,执行以下命令查看依赖树,确认冲突模块已被移除:
# macOS/Linux ./gradlew app:dependencies # Windows gradlew.bat app:dependencies
之后重新编译项目,checkStagingDebugDuplicateClasses任务的重复类错误应该会消失。
内容的提问来源于stack exchange,提问作者Deepak Rathi
相关产品推荐
相关产品推荐

