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

如何使用Version Catalog文件声明Kotlin Compose Compiler版本

正确配置方式

你遇到的问题是因为直接对libs.versions.kotlinComposeCompiler做字符串插值导致的——它本质是一个Provider<String>对象,直接插值会得到类似provider(?)的字符串,而非实际版本号,这才让Gradle找不到对应版本的依赖。

以下是两种正确的配置方式:

方式一:仅在versions块定义版本,直接调用get()获取版本号

libs.versions.toml

[versions]
kotlinComposeCompiler = "1.5.11"

build.gradle.kts (:app)

composeOptions {
    kotlinCompilerExtensionVersion = libs.versions.kotlinComposeCompiler.get()
}

方式二:在libraries块定义完整依赖(可选,更规范)

如果希望统一管理Compose Compiler的依赖坐标,也可以在toml中补充定义library:

libs.versions.toml

[versions]
kotlinComposeCompiler = "1.5.11"

[libraries]
androidx-compose-compiler = { group = "androidx.compose.compiler", name = "compiler", version.ref = "kotlinComposeCompiler" }

build.gradle.kts (:app)

// 先确保依赖引入(如果之前没加的话)
dependencies {
    implementation(libs.androidx.compose.compiler)
}

composeOptions {
    // 依然通过version引用版本号
    kotlinCompilerExtensionVersion = libs.versions.kotlinComposeCompiler.get()
}

注意:composeOptions里的kotlinCompilerExtensionVersion必须填版本号字符串,所以无论哪种方式,最终都需要调用get()来获取Provider中的实际版本值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 17:47:39