未解析的引用:将gradle转换为gradle时的扩展名. kts

lskq00tm  于 2023-01-31  发布在  其他
关注(0)|答案(2)|浏览(262)

默认情况下,当我从Android Studio创建编写应用时,它会在我的根项目build.gradle中给予ext,如下所示。

buildscript {
    ext {
        compose_version = '1.0.0'
    }
    repositories {
        google()
        mavenCentral()
    }
}

当我把它改成build.gradle.kts时,它会抱怨

Unresolved reference: ext
Unresolved reference: compose_version
Too many characters in a character literal ''1.0.0''

如何解决此问题?

yzckvree

yzckvree1#

我用

buildscript {
    extra.apply{
        set("compose_version", "1.0.0")
    }
    repositories {
        google()
        mavenCentral()
    }

要从其他gradle文件访问它,我需要显式地设置为一个变量

val composeVersion = rootProject.extra.get("compose_version") as String

然后我就可以用它来

composeOptions {
    kotlinCompilerExtensionVersion = composeVersion
}

以及

dependencies {
   implementation ("androidx.compose.ui:ui:$composeVersion")
}
jslywgbw

jslywgbw2#

按如下方式设置:

val composeVersion by extra("1.0.0")

像这样使用它:

val composeVersion: String by rootProject.extra

Groovy允许对字符串使用单引号,但Kotlin要求使用双引号,请将kts文件中的所有字符串更改为使用双引号,以消除Too many characters in a character literal错误。

相关问题