移至 Gradle Kotlin DSL 构建脚本后数据绑定未解决
Databinding unresolved after move to Gradle Kotlin DSL build scripts
我有一个工作构建,包括数据绑定,但是在将我的 Gradle 构建脚本迁移到 Kotlin DSL 之后,我现在每次使用 import androidx.databinding.DataBindingUtil
都会遇到未解决的符号错误
我的 build.properties.kts
包含以下内容:
plugins {
id ("com.android.application")
kotlin ("android")
kotlin ("android.extensions")
id ("de.mannodermaus.android-junit5")
}
android {
lintOptions.isAbortOnError = false
compileSdkVersion(28)
defaultConfig {
// ...
}
buildTypes {
getByName("release") {
isMinifyEnabled = false
proguardFiles (getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
}
}
dataBinding.isEnabled = true
sourceSets {
getByName("main").java.srcDir("src/main/kotlin")
getByName("test").java.srcDir("src/test/kotlin")
}
}
dependencies {
// ...
}
dataBinding.isEnabled = true
是启用数据绑定的正确方法吗,还是我需要做其他事情? (我知道我可以通过回到 Groovy 来 'fix',但这感觉有点像放弃!)
编辑:2019 年 databinding.isEnabled = true
是 启用数据绑定的正确方法。
现在请参考公认的解决方案以了解正确的方法。
问题原来出在我的文件命名上。在迁移到 Kotlin DSL 时,我无意中将 gradle.properties
文件重命名为 gradle.properties.kts
。重命名文件后,我现在又拥有了一个功能齐全的构建!
这就是我在 kotlin gradle 文件中启用数据绑定的方式:
dataBinding {
isEnabled = true
}
瞧 ;)
希望这对某人有所帮助
android {
...
buildFeatures {
dataBinding = true
}
...
对于 ViewBinding,您可以使用:
viewBinding.isEnabled = true
你可以这样使用它:
android {
buildFeatures {
dataBinding = true
// for view binding:
// viewBinding = true
}
}
我有一个工作构建,包括数据绑定,但是在将我的 Gradle 构建脚本迁移到 Kotlin DSL 之后,我现在每次使用 import androidx.databinding.DataBindingUtil
我的 build.properties.kts
包含以下内容:
plugins {
id ("com.android.application")
kotlin ("android")
kotlin ("android.extensions")
id ("de.mannodermaus.android-junit5")
}
android {
lintOptions.isAbortOnError = false
compileSdkVersion(28)
defaultConfig {
// ...
}
buildTypes {
getByName("release") {
isMinifyEnabled = false
proguardFiles (getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
}
}
dataBinding.isEnabled = true
sourceSets {
getByName("main").java.srcDir("src/main/kotlin")
getByName("test").java.srcDir("src/test/kotlin")
}
}
dependencies {
// ...
}
dataBinding.isEnabled = true
是启用数据绑定的正确方法吗,还是我需要做其他事情? (我知道我可以通过回到 Groovy 来 'fix',但这感觉有点像放弃!)
编辑:2019 年 databinding.isEnabled = true
是 启用数据绑定的正确方法。
现在请参考公认的解决方案以了解正确的方法。
问题原来出在我的文件命名上。在迁移到 Kotlin DSL 时,我无意中将 gradle.properties
文件重命名为 gradle.properties.kts
。重命名文件后,我现在又拥有了一个功能齐全的构建!
这就是我在 kotlin gradle 文件中启用数据绑定的方式:
dataBinding {
isEnabled = true
}
瞧 ;)
希望这对某人有所帮助
android {
...
buildFeatures {
dataBinding = true
}
...
对于 ViewBinding,您可以使用:
viewBinding.isEnabled = true
你可以这样使用它:
android {
buildFeatures {
dataBinding = true
// for view binding:
// viewBinding = true
}
}