Android Studio中添加Navigation依赖失败求助
结合你提供的app/build.gradle配置,针对常见的依赖同步失败场景,给出以下排查和解决方向:
1. 补充Kotlin插件(关键)
你的依赖里用到了lifecycle-livedata-ktx这类Kotlin扩展库,但app模块的plugins块未添加Kotlin Android插件,会导致Kotlin相关依赖无法正常解析。在plugins中补充:
plugins { id 'com.android.application' id 'kotlin-android' // 新增该行 }
同时在android块内添加Kotlin编译配置:
kotlinOptions { jvmTarget = '1.8' }
2. 统一SDK版本并升级Navigation依赖
你的compileSdk设为33,但targetSdk是32,建议两者保持一致;另外Navigation 2.5.1对compileSdk 33的适配存在瑕疵,可升级到同系列稳定版本2.5.3:
android { compileSdk 33 defaultConfig { // 保留其他配置 targetSdk 33 // 改为与compileSdk一致 } } dependencies { // 替换原Navigation依赖 implementation 'androidx.navigation:navigation-fragment:2.5.3' implementation 'androidx.navigation:navigation-ui:2.5.3' }
3. 检查根目录仓库配置
确保项目根目录的settings.gradle包含Google Maven仓库,否则无法下载AndroidX依赖:
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } }
4. 清理缓存并重新同步
若以上配置无误,执行Android Studio缓存清理操作:
- 点击顶部菜单栏
File->Invalidate Caches... - 勾选
Invalidate and Restart,等待Studio重启后重新同步项目
修正后的完整app/build.gradle示例
plugins { id 'com.android.application' id 'kotlin-android' } android { compileSdk 33 defaultConfig { applicationId "com.example.practice_8" minSdk 21 targetSdk 33 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = '1.8' } buildFeatures { viewBinding true } } dependencies { implementation 'androidx.appcompat:appcompat:1.4.2' implementation 'com.google.android.material:material:1.6.1' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.5.1' implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1' implementation 'androidx.navigation:navigation-fragment:2.5.3' implementation 'androidx.navigation:navigation-ui:2.5.3' testImplementation 'junit:junit:4.13.2' androidTestImplementation 'androidx.test.ext:junit:1.1.3' androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' }
内容的提问来源于stack exchange,提问作者Allu
相关产品推荐
相关产品推荐

