Android Studio报错:app:checkDebugAarMetadata任务执行失败
报错根因
构建卡在:app:checkDebugAarMetadata任务的核心原因是版本不兼容:
项目当前配置的
compileSdkVersion为android-30,但引入的多个AndroidX依赖包在AAR元数据里声明要求最低minCompileSdk为31,Gradle做元数据校验时不满足版本要求,直接中断构建。
涉及冲突的高版本AndroidX组件如下:
androidx.core:core-ktx:1.7.0androidx.appcompat:appcompat:1.4.1androidx.appcompat:appcompat-resources:1.4.1androidx.emoji2:emoji2-views-helper:1.0.0androidx.emoji2:emoji2:1.0.0androidx.core:core:1.7.0androidx.lifecycle:lifecycle-process:2.4.0androidx.lifecycle:lifecycle-runtime:2.4.0
解决方法
两种方案二选一即可,优先选第一种,长期维护成本最低。
- 方案1(推荐):升级项目编译SDK版本到31
打开app模块下的build.gradle(使用Kotlin DSL的项目对应build.gradle.kts),找到android配置块,把compileSdkVersion的值从30改成31,新版Android Gradle插件可以直接写compileSdk = 31。
改完点Sync Now同步Gradle即可。注意:升级compileSdk不会修改app的最低支持版本minSdk,不会影响低版本安卓设备的安装兼容性,只是让编译环境满足依赖的版本要求,没有额外副作用。 - 方案2:锁定依赖到支持compileSdk 30的低版本
如果暂时没法升级compileSdk,就手动把所有冲突依赖降到适配compileSdk 30的版本:androidx.core:core-ktx、androidx.core:core用1.6.0及以下版本,不要用1.7.0及以上androidx.appcompat系列用1.3.1及以下版本,不要用1.4.0及以上androidx.lifecycle系列用2.3.1及以下版本,不要用2.4.0及以上
emoji2相关包是appcompat 1.4+传递引入的,把appcompat降版本后会自动拉取兼容版本,不需要单独处理。改完依赖后同步Gradle即可通过校验。
内容的提问来源于stack exchange,提问作者Haza
相关产品推荐
相关产品推荐

