添加zxing-core依赖后出现重复类编译错误求助
在app/build.gradle中添加implementation 'com.google.zxing:core:3.5.1'依赖后,编译触发:app:checkDevelopmentDebugDuplicateClasses任务失败,提示jetified-core-3.1.0与jetified-core-3.5.0中存在大量com.google.zxing相关重复类。已尝试删除.gradle文件夹、更新Gradle、执行flutter clean、flutter pub cache repair、flutter upgrade、flutter pub get、./gradlew clean等操作,问题仍未解决。
当前app/app/build.gradle的依赖配置:
dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" def multidex_version = "2.0.1" implementation fileTree(dir: 'libs', include: ['*.aar', '*.jar']) coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.5' implementation "androidx.multidex:multidex:$multidex_version" implementation 'com.journeyapps:zxing-android-embedded:4.3.0@aar' implementation 'com.google.zxing:core:3.5.1' }
编译错误详情:
A failure occurred while executing com.android.build.gradle.internal.tasks.CheckDuplicatesRunnable
Duplicate class com.google.zxing.BarcodeFormat found in modules jetified-core-3.1.0 (core-3.1.0.jar) and jetified-core-3.5.0 (com.google.zxing:core:3.5.0)
(其余大量重复类提示省略)
1. 定位重复依赖来源
执行以下Gradle命令查看完整依赖树,找到引入core-3.1.0的模块:
./gradlew app:dependencies
在输出中搜索com.google.zxing:core,就能明确是com.journeyapps:zxing-android-embedded:4.3.0自带了旧版本core,还是libs文件夹下存在core-3.1.0.jar文件导致冲突。
2. 清除冲突依赖
- 如果是libs文件夹存在重复jar:直接删除
libs目录下的core-3.1.0.jar文件。 - 如果是zxing-android-embedded引入旧版本:修改依赖配置,排除它自带的core模块,强制使用指定的3.5.1版本:
implementation('com.journeyapps:zxing-android-embedded:4.3.0@aar') { exclude group: 'com.google.zxing', module: 'core' } implementation 'com.google.zxing:core:3.5.1'
3. 重新编译
修改完成后,执行以下命令清理并重新编译项目:
./gradlew clean flutter pub get flutter run
内容的提问来源于stack exchange,提问作者JULIUS BANDA M

