如何为Gradle 7.x版本添加Navigation依赖?
迁移旧版项目级Gradle配置到新版Plugins写法
新版Android Gradle Plugin(7.0+)推荐使用Plugins DSL替代传统的buildscript块,以下是把你旧版配置完整迁移到新版的具体方案:
1. 统一管理版本变量
将旧版buildscript里的版本变量提取到单独的ext块,方便统一维护:
// 全局版本变量管理 ext { kotlin_version = "1.7.10" // 对齐新版默认的Kotlin版本 nav_version = "2.4.2" hilt_version = "2.41" google_services_version = "4.3.10" }
2. 迁移插件声明
把旧版buildscript中的classpath依赖,转换成plugins块的id声明,加上apply false表示仅在模块级Gradle中按需应用:
plugins { id 'com.android.application' version '7.2.2' apply false id 'com.android.library' version '7.2.2' apply false id 'org.jetbrains.kotlin.android' version "${kotlin_version}" apply false // 导航Safe Args插件 id 'androidx.navigation.safeargs' version "${nav_version}" apply false // Google Services插件 id 'com.google.gms.google-services' version "${google_services_version}" apply false // Dagger Hilt插件 id 'com.google.dagger.hilt.android' version "${hilt_version}" apply false }
3. 全局仓库配置迁移
旧版allprojects块中的仓库配置,需要移到settings.gradle文件中(不再放在项目级build.gradle):
// settings.gradle dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() // jcenter已废弃,建议直接移除 } } rootProject.name = "你的项目名称" include ':app'
注意:jcenter已停止服务,继续保留会导致构建不稳定,建议直接删除该仓库配置。
4. 保留Clean任务
新版Gradle默认已包含clean任务,若需自定义可保留原有配置:
task clean(type: Delete) { delete rootProject.buildDir }
完整新版项目级build.gradle文件
// Top-level build file where you can add configuration options common to all sub-projects/modules. ext { kotlin_version = "1.7.10" nav_version = "2.4.2" hilt_version = "2.41" google_services_version = "4.3.10" } plugins { id 'com.android.application' version '7.2.2' apply false id 'com.android.library' version '7.2.2' apply false id 'org.jetbrains.kotlin.android' version "${kotlin_version}" apply false id 'androidx.navigation.safeargs' version "${nav_version}" apply false id 'com.google.gms.google-services' version "${google_services_version}" apply false id 'com.google.dagger.hilt.android' version "${hilt_version}" apply false } task clean(type: Delete) { delete rootProject.buildDir }
模块级Gradle注意事项
模块级文件无需大幅改动,只需在顶部应用所需插件即可,示例:
// 模块级build.gradle plugins { id 'com.android.application' id 'org.jetbrains.kotlin.android' id 'androidx.navigation.safeargs' id 'com.google.gms.google-services' id 'com.google.dagger.hilt.android' } // 其余依赖配置可沿用旧版内容
内容的提问来源于stack exchange,提问作者ybybyb
相关产品推荐
相关产品推荐

