You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 06:15:32