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

Gradle从Groovy迁移到Kotlin DSL后构建失败求助

问题解决:Gradle Kotlin DSL构建时无法解析debugRuntimeClasspath依赖

核心问题分析

  1. Kotlin DSL不支持依赖通配符:Groovy DSL允许使用navigation-*这类通配符匹配依赖,但Kotlin DSL不支持该写法,导致导航组件依赖无法被正确解析。
  2. Kotlin版本不一致:根级build.gradle.kts中Kotlin插件版本为1.7.20,但模块依赖的kotlin-bom版本是1.8.0,版本不匹配会引发依赖解析冲突。
  3. 导航依赖版本冲突:同时声明了navigation-*:2.6.0和navigation-runtime-ktx:2.5.2,不同版本的依赖会导致解析失败。

解决方案步骤

1. 修复导航依赖的通配符问题

将模块级build.gradle.kts中使用通配符的导航依赖替换为具体组件,同时统一版本:

// 移除原有错误依赖
// implementation("androidx.navigation:navigation-*:2.6.0")
// implementation("androidx.navigation:navigation-runtime-ktx:2.5.2")

// 替换为明确的导航组件,保持版本一致
implementation("androidx.navigation:navigation-compose:2.6.0")
implementation("androidx.navigation:navigation-runtime-ktx:2.6.0")

2. 统一Kotlin版本

修改根级build.gradle.kts中的Kotlin插件版本,与模块依赖的kotlin-bom版本对齐:

plugins {
    id("com.android.application") version "8.0.2" apply false
    id("com.android.library") version "8.0.2" apply false
    id("org.jetbrains.kotlin.android") version "1.8.0" apply false // 修改为与bom一致的1.8.0
}

3. 验证Compose版本兼容性

当前composeOptions中kotlinCompilerExtensionVersion = "1.3.2"与Kotlin 1.8.0版本兼容,无需修改。后续若调整Kotlin版本,需确保编译器扩展版本与之匹配。

4. 重新构建项目

  • 点击Android Studio工具栏的File -> Invalidate Caches...,选择Invalidate and Restart
  • 等待项目重新同步后,再次尝试运行App

修改后的模块级依赖示例

dependencies {
    implementation("androidx.core:core-ktx:1.8.0")
    implementation(platform("org.jetbrains.kotlin:kotlin-bom:1.8.0"))
    implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.3.1")
    implementation("androidx.activity:activity-compose:1.5.1")
    implementation(platform("androidx.compose:compose-bom:2022.10.00"))
    implementation("androidx.compose.ui:ui")
    implementation("androidx.compose.ui:ui-graphics")
    implementation("androidx.compose.ui:ui-tooling-preview")
    implementation("androidx.compose.material3:material3")
    // 修复后的导航依赖
    implementation("androidx.navigation:navigation-compose:2.6.0")
    implementation("androidx.navigation:navigation-runtime-ktx:2.6.0")
    testImplementation("junit:junit:4.13.2")
    androidTestImplementation("androidx.test.ext:junit:1.1.3")
    androidTestImplementation("androidx.test.espresso:espresso-core:3.4.0")
    androidTestImplementation(platform("androidx.compose:compose-bom:2022.10.00"))
    androidTestImplementation("androidx.compose.ui:ui-test-junit4")
    debugImplementation("androidx.compose.ui:ui-tooling")
    debugImplementation("androidx.compose.ui:ui-test-manifest")
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 22:49:49