Flutter项目构建失败:AndroidX依赖冲突与重复类问题求助
解决Flutter项目Android依赖冲突与Dex合并问题
我帮你梳理下问题根源和解决方案——你遇到的是AndroidX与旧Support库共存导致的双重依赖冲突,咱们一步步来解决:
1. 先统一AndroidX核心库版本,解决版本不一致问题
第一个报错里的androidx.core:core编译和运行时版本不匹配,咱们直接在项目的android/build.gradle里强制指定统一版本:
找到allprojects代码块,添加依赖版本强制规则:
allprojects { repositories { google() jcenter() } // 新增这段规则,强制用同一个版本的androidx.core configurations.all { resolutionStrategy { force 'androidx.core:core:1.0.1' // 后续如果还有其他依赖版本冲突,都可以在这里添加force规则 } } }
2. 开启自动转换,彻底消除Support库残留
第二个报错的重复类问题,是因为有第三方依赖还在使用旧的Support库,没有自动转成AndroidX。你需要确保这两个关键配置已经开启:
打开android/gradle.properties,确认以下两行存在并且为true:
android.useAndroidX=true android.enableJetifier=true
jetifier会自动把所有第三方依赖里的旧Support库代码转换成AndroidX版本,这是解决跨依赖冲突的核心步骤,之前迁移失败大概率是没开这个。
另外再检查android/app/build.gradle里的编译版本:
android { compileSdkVersion 28 defaultConfig { targetSdkVersion 28 // 其他配置保持不变 } }
3. 清理缓存,重新构建
做完上面的修改后,一定要清理缓存再重新编译,否则旧缓存会干扰结果:
- 在Android Studio里点击
File > Invalidate Caches / Restart,选择Invalidate and Restart - 或者用终端执行命令:
flutter clean cd android ./gradlew clean cd .. flutter pub get flutter run
额外排查:检查第三方依赖版本
如果还是报错,可能是某个第三方包版本太旧,没适配AndroidX。你可以打开pubspec.yaml查看依赖列表,把相关包更新到最新版本,或者替换成已经适配AndroidX的替代包。
内容的提问来源于stack exchange,提问作者dev.farmer
相关产品推荐
相关产品推荐

