如何修复Navigation组件依赖报错:编译SDK版本不兼容问题
同步Android项目无异常,但运行时出现8个AAR元数据检查报错。原因是Navigation组件2.7.2要求compileSdk至少为34,当前项目compileSdk为33,且Android Gradle插件(AGP)7.4.2最高仅支持compileSdk 33。
方案一:降级Navigation组件版本
直接把Navigation版本降到不需要compileSdk 34的2.7.1版本,无需改动AGP和compileSdk:
修改app模块build.gradle中的依赖:
// 替换原来的2.7.2版本 implementation("androidx.navigation:navigation-fragment-ktx:2.7.1") implementation("androidx.navigation:navigation-ui-ktx:2.7.1")
修改后同步项目即可。
方案二:升级AGP与compileSdk版本
如果想保留Navigation 2.7.2,需要升级AGP到支持compileSdk 34的版本,同时更新compileSdk和targetSdk:
1. 修改项目级build.gradle
把AGP版本从7.4.2升级到7.4.3(兼容现有Kotlin 1.8.0):
plugins { id 'com.android.application' version '7.4.3' apply false id 'com.android.library' version '7.4.3' apply false id 'org.jetbrains.kotlin.android' version '1.8.0' apply false }
2. 修改app模块build.gradle
更新compileSdk和targetSdk到34:
android { namespace 'com.example.newsapp' compileSdk 34 defaultConfig { applicationId "com.example.newsapp" minSdk 21 targetSdk 34 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } // 其他配置保持不变 }
同步项目前确保已下载Android SDK 34组件,完成后即可正常运行。
内容的提问来源于stack exchange,提问作者funny android
相关产品推荐
相关产品推荐

