在一个多模块项目中,我有以下设置:
在我的(应用)模块build.gradle.kts
中,我启用了DataBinding和ViewBinding,一切都很好:-
android{
/* compileSdkVersion, buildToolsVersion etc...*/
buildFeatures {
dataBinding = true
viewBinding = true
}
}
我在buildSrc目录中使用一个常见的buildSrc类是将依赖项注入到模块中,还使用buildSrc目录中的Plugins.kt
类来提供诸如"com.android.application“和"kapt”等插件。所有模块。
在我的:modules:rxandroid
中,build.gradle.kts
如下所示:
plugins {
/* defined in Plugins.kt*/
androidLibrary()
kotlinAndroid()
kotlinKapt()
}
android {
compileSdkVersion(AndroidSDK.compileSdk)
buildToolsVersion(AndroidSDK.buildTools)
defaultConfig {
minSdkVersion(DefaultConfig.minSdk)
targetSdkVersion(DefaultConfig.targetSdk)
}
/*
compilation error kicks in here, if the below block is removed eveyrthing works fine
but of ocurs i can't used either ViewBinding or DataBinding
*/
buildFeatures {
dataBinding = true
viewBinding = true
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
// For Kotlin projects
kotlinOptions {
jvmTarget = "1.8"
}
}
dependencies {
implementation(fileTree(mapOf("dir" to "libs", "include" to listOf("*.jar"))))
testImplementation(TestLibs.junit)
/* defined in Dependencies.kt*/
androidTestImplementation(TestLibs.runner)
androidTestImplementation(TestLibs.espresso)
implementation (KotlinLibs.kotlin_lib)
implementation (KotlinLibs.kotlin_coroutines_core)
implementation (KotlinLibs.kotlin_coroutine_android)
implementation (KotlinLibs.kotlin_viewmodel_ktx)
implementation (AndroidX.android_app_compat)
implementation (AndroidX.android_constrain_layout)
implementation (AndroidX.android_recyclerview)
implementation (AndroidX.android_lifecycle_extensions)
implementation (AndroidX.android_core_ktx)
implementation (AndroidX.lifecycle_runtime_ktx)
...
}
生成项目时,将向控制台日志抛出折叠错误消息:
Unresolved reference: buildFeatures
关于细节的截图是:-
https://stackoverflow.com/questions/70399014
复制相似问题