Android 迁移到gradle kotlin dsl后buildSrc kotlin常量的未解析引用
我正在尝试将我的android项目迁移到使用gradle kotlin dsl,用build.gradle.kts文件替换所有build.gradle文件,并在那里使用kotlin。以前,我曾经有一个kotlin文件,其中包含具有库和版本常量的对象元素(在buildSrc->src->main->kotlin中),如:Android 迁移到gradle kotlin dsl后buildSrc kotlin常量的未解析引用,android,build.gradle,gradle-kotlin-dsl,Android,Build.gradle,Gradle Kotlin Dsl,我正在尝试将我的android项目迁移到使用gradle kotlin dsl,用build.gradle.kts文件替换所有build.gradle文件,并在那里使用kotlin。以前,我曾经有一个kotlin文件,其中包含具有库和版本常量的对象元素(在buildSrc->src->main->kotlin中),如: 在build.gradle文件中,我可以毫无问题地访问这些常量,但一旦我将它们切换到build.gradle.kts,它就无法再解析它们了。对此有什么解释吗?您通常会在build
在build.gradle文件中,我可以毫无问题地访问这些常量,但一旦我将它们切换到build.gradle.kts,它就无法再解析它们了。对此有什么解释吗?您通常会在
buildSrc/build.gradle.kts
import org.gradle.kotlin.dsl.`kotlin-dsl`
repositories {
jcenter()
}
plugins {
`kotlin-dsl`
}
然后在
buildSrc/src/main/java/dependencies.kt
中将buildSrc目录作为settings.gradle.kts(.)中的模块处理
预编译脚本插件。
然后对于Kotlin DSL中的apply from
,您应该使用plugins{}
build.gradle.kts(X:buildSrc)
buildSrc/src/main/kotlin/core-library.gradle.kts
注意:apply(from=“path.gradle.kts”
对我不起作用
plugins {
id("com.android.library")
id("kotlin-android")
id("kotlin-parcelize")
}
feature.gradle.kts
德国劳埃德船级社
您可以通过完全删除android{}来修复它块,执行Gradle同步,然后再添加代码块。我的buildSrc/build.Gradle.kts看起来就是这样。所以你是说错误在于我使用的是kotlin源文件夹而不是java源文件夹?我以前确实有过,但我认为使用kotlin源文件夹更合适。这两个都可以使用吗?当然可以inly与java
…尚未尝试使用kotlin
…稍后将在此处进行测试,看看是否有效(或者例如,您是否需要在gradle中显式设置SourceSet
)尝试在此处使用kotlin
而不是java
作为文件夹名称,看起来效果很好。嗯,那么我的项目中肯定有任何问题。感谢您的努力!在重新安装android studio后,现在可以工作了吗?这只是android studio的问题,还是命令行生成也失败了?重新插入后,现在可以工作了吗安卓系统的一切对我不起作用:(
plugins {
`java-gradle-plugin`
`kotlin-dsl`
`kotlin-dsl-precompiled-script-plugins`
}
repositories {
mavenCentral()
}
plugins {
id("com.android.library")
id("kotlin-android")
id("kotlin-parcelize")
}
plugins {
id("core-library")
}