在我们的 Android 项目中,我们有 3 种口味,分别命名为“A”、“B”和“C”。在 android 中,我们总是将公共代码保存在“主”文件夹中,以避免代码重复。就像我们创建了“ABMain”、“ACMain”和“BCMain”来避免模块中的代码重复。(我们在 build.gradle 中配置了 sourceset)。
sourceSets {
A {
res.srcDirs += [‘src/ABMain/res’, ‘src/ACMain/res’]
java.srcDirs += [‘src/ABMain/java’, ‘src/ACMain/java’]
resources.srcDirs += [‘src/ABMain/assets’, ‘src/ACMain/assets’]
}
}
我们将许多类移至通用模块。但是,当我们尝试移动具有合成导入语句的类时,我们面临着挑战。
例如,在“ABMain”中,我们有 MainActivity.kt 和 layout_main。问题是在导入语句中具有风味名称的合成属性。它会导致问题。
import kotlinx.android.synthetic.A.layout_main.view.*
import kotlinx.android.synthetic.B.layout_main.view.*
//This one is not working
import kotlinx.android.synthetic.AB.layout_main.view.*
如何在常见的 android 模块中使用合成属性导入???