首页 > 解决方案 > 如何在常见的 android 模块中管理 Synthetic 属性

问题描述

在我们的 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 模块中使用合成属性导入???

标签: androidkotlinmodulesynthetic

解决方案


推荐阅读