如何解决依赖AAR元数据中指定的minCompileSdk(31)报错问题
根因说明
你遇到的第一个报错是因为androidx.appcompat:appcompat:1.4.0官方要求最低编译SDK版本为31,你的项目当前compileSdkVersion是30,不满足依赖要求触发校验失败。
升级compileSdk到31后遇到的构建工具损坏是谷歌官方31.0.0版本Build Tools的已知问题,该版本打包时缺失了d8相关的必要文件。
可选解决方案
方案1:不升级编译SDK(快速修复,无需改动开发环境)
直接降级appcompat到支持compileSdk30的最新稳定版即可:
- 打开module级build.gradle的dependencies代码块,将
implementation 'androidx.appcompat:appcompat:1.4.0'修改为implementation 'androidx.appcompat:appcompat:1.3.1' - 你的配置中存在版本冲突:defaultConfig里强制指定core-ktx版本为1.6.0,但dependencies里写的是1.7.0,要么删除resolutionStrategy中的force规则,要么将dependencies里的core-ktx版本统一为1.6.0
- 同步Gradle即可正常编译
方案2:升级到compileSdk31(适配高版本依赖)
如果需要使用高版本appcompat的新特性,可按以下步骤修复构建工具问题:
方法一:手动修复31.0.0版本Build Tools
- 将build.gradle中
buildToolsVersion改为"31.0.0",保持compileSdkVersion为31 - 打开本地SDK安装目录,进入
build-tools/31.0.0文件夹,复制dx.bat并重命名为d8.bat - 进入
build-tools/31.0.0/lib文件夹,复制dx.jar并重命名为d8.jar - 重启Android Studio后同步Gradle即可
方法二:升级Build Tools版本
直接将build.gradle中的buildToolsVersion改为"32.0.0"或更高版本,官方已经在后续版本修复了文件缺失问题,同步Gradle时会自动下载对应版本的构建工具,无需手动修改文件。
内容的提问来源于stack exchange,提问作者Tanya Gupta
相关产品推荐
相关产品推荐

