Android运行报错:AAR元数据minCompileSdk高于compileSdk 30,升级31仍异常
问题原因
你引入的androidx.lifecycle 2.4.0版本的依赖,内置要求最低编译SDK(minCompileSdk)为31,而你当前项目的compileSdk设置为30,版本不匹配触发了AAR元数据校验错误。
你修改compileSdk为31后出现的报错,是因为本地Android SDK环境没有正确安装Android 12(API 31)的平台SDK,或是当前使用的Android Gradle Plugin(AGP)版本不支持API 31编译。
解决方案
方案一:不升级compileSdk 30(改动最小,推荐)
将所有lifecycle相关依赖的版本从2.4.0降到2.3.1,该版本的minCompileSdk为30,和你当前的编译版本匹配:
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1" implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.3.1" implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.3.1"
同时可以删除android配置块下冗余的resolutionStrategy强制core-ktx版本的配置,你依赖中已经声明了core-ktx:1.7.0,和2.3.1版本的lifecycle不存在兼容性冲突。
方案二:保留lifecycle 2.4.0版本,修复compileSdk 31的报错
- 打开Android Studio的SDK Manager,进入
SDK Platforms标签页,勾选Android 12 (S)(API Level 31),点击应用完成SDK下载。 - 升级项目根目录build.gradle中的Android Gradle Plugin版本到7.0.3及以上,示例:
// 根目录build.gradle plugins { id 'com.android.application' version '7.0.3' apply false id 'com.android.library' version '7.0.3' apply false id 'org.jetbrains.kotlin.android' version '1.5.31' apply false }
- 同步项目后重新编译即可。
内容的提问来源于stack exchange,提问作者Compose Learner
相关产品推荐
相关产品推荐

