多版本Gradle插件冲突导致Android APK无法构建,该如何解决?
多版本Gradle插件冲突解决步骤
- 第一步:定位冲突来源
执行命令打印项目依赖树,查询所有引入的Gradle插件版本:
Mac/Linux执行:./gradlew :app:dependencies
Windows执行:gradlew.bat :app:dependencies
在输出结果中搜索com.android.tools.build:gradle关键词,即可看到哪些依赖项引入了不同版本的Gradle插件。 - 第二步:全局强制统一版本
在项目根目录的build.gradle文件中添加版本锁定配置,强制所有模块使用同一个版本的Gradle插件:allprojects { configurations.all { resolutionStrategy { force 'com.android.tools.build:gradle:你要统一使用的版本号,比如7.4.2' } } } - 第三步:单独排除指定依赖的冲突插件
如果是某个第三方依赖单独引入了不同版本的Gradle插件,可以在引入该依赖时添加排除规则:implementation('冲突的第三方依赖包名:模块名:版本号') { exclude group: 'com.android.tools.build', module: 'gradle' } - 第四步:验证配置生效
修改完成后执行./gradlew clean清理项目缓存,再重新执行构建命令即可。
补充注意事项
- 如果你使用的是Gradle 7.0及以上版本,可以直接在项目根目录的
settings.gradle中通过pluginManagement块统一管理所有插件的版本,从源头避免版本冲突:pluginManagement { plugins { id 'com.android.application' version '你指定的版本号' apply false id 'com.android.library' version '你指定的版本号' apply false // 其他用到的插件都可以在这里统一声明版本 } } - 注意确保你使用的Android Gradle插件版本和
gradle/wrapper/gradle-wrapper.properties中配置的Gradle内核版本兼容,两者版本不匹配也会触发类似的构建报错。
内容的提问来源于stack exchange,提问作者Kemura
相关产品推荐
相关产品推荐

