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

升级Android Studio Canary11后Java项目build.gradle变为kts无法加依赖

问题原因

你的情况是因为Android Studio Canary 11新建项目时默认启用了Kotlin DSL(.kts)构建脚本,替代了传统的Groovy DSL(.gradle)。两种脚本的语法规则不同,你之前习惯的Groovy依赖写法在KTS里无法识别,导致添加Navigation组件依赖失败。

解决方法

你有两种方式来添加Navigation组件依赖,任选其一即可:

方式1:直接在KTS脚本中声明依赖

将你原本的Groovy风格依赖代码,转换成Kotlin语法后,添加到app模块的build.gradle.kts的dependencies块中:

修改后的dependencies块示例:

dependencies {
    // 原有依赖保留
    implementation(libs.appcompat)
    implementation(libs.material)
    implementation(libs.constraintlayout)
    implementation(libs.firebase.auth)
    implementation(libs.firebase.database)
    implementation(libs.firebase.firestore)
    implementation(libs.firebase.storage)
    testImplementation(libs.junit)
    androidTestImplementation(libs.androidx.test.ext.junit)
    androidTestImplementation(libs.espresso.core)

    // 添加Navigation组件依赖(KTS语法)
    val nav_version = "2.7.5"
    implementation("androidx.navigation:navigation-fragment:$nav_version")
    implementation("androidx.navigation:navigation-ui:$nav_version")
}

方式2:使用版本目录(更规范的KTS写法)

Android Studio现在推荐使用gradle/libs.versions.toml来统一管理依赖版本,步骤如下:

  1. 打开项目根目录下的gradle/libs.versions.toml文件
  2. 在[versions]区块中添加Navigation的版本号:
[versions]
# 原有版本保留,新增以下行
navigation = "2.7.5"
  1. 在[libraries]区块中添加Navigation组件的依赖别名:
[libraries]
# 原有依赖保留,新增以下两行
androidx-navigation-fragment = { group = "androidx.navigation", name = "navigation-fragment", version.ref = "navigation" }
androidx-navigation-ui = { group = "androidx.navigation", name = "navigation-ui", version.ref = "navigation" }
  1. 回到app模块的build.gradle.kts,在dependencies块中引用这些别名:
dependencies {
    // 原有依赖保留
    implementation(libs.appcompat)
    implementation(libs.material)
    implementation(libs.constraintlayout)
    implementation(libs.firebase.auth)
    implementation(libs.firebase.database)
    implementation(libs.firebase.firestore)
    implementation(libs.firebase.storage)
    testImplementation(libs.junit)
    androidTestImplementation(libs.androidx.test.ext.junit)
    androidTestImplementation(libs.espresso.core)

    // 引用Navigation组件依赖
    implementation(libs.androidx.navigation.fragment)
    implementation(libs.androidx.navigation.ui)
}
额外说明

项目级的build.gradle.kts无需修改,Google Services插件的配置已经符合KTS语法要求。

内容的提问来源于stack exchange,提问作者Ukeme Elijah

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 03:12:03