微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Gradle Kotlin DSL 中使两种构建风格使用相同的 res 文件?

如何解决在 Gradle Kotlin DSL 中使两种构建风格使用相同的 res 文件?

我有 3 个名为 FlavorA,FlavorB,FlavorC 的构建风格

FlavorA 使用公共资源,所以在它的源集中没有什么额外的,FlavorB 和 FlavorC 使用相同的资源,但与公共资源不同,所以它们都有相同的 strings.xml,styles.xml 文件。 B 和 C 之间的唯一区别是 applicationId,因此我只想让 FlavorC 使用 FlavorB 的 res 文件,而不是在每次更改时复制和粘贴 strings.xml、styles.xml 文件。这可能吗?

productFlavors {
    flavorDimensions("version")
    create("FlavorA") {
        dimension("version")
        applicationId = com.example.flavora
    }
    create("FlavorB") {
        dimension("version")
        versionName = "1.0.0"
        applicationId = "com.example.flavorb"
    }
    create("FlavorC") {
        dimension("version")
        versionName = "1.0.0-test01"
        applicationId = "com.example.flavorc"
    }
}

包结构是这样的:

-main
-flavorB
   -res
-flavorC
   -res (I want to get rid of this and point to FlavorB's res file to avoid dealing with identical stuff)

解决方法

sourceSets {
        getByName("FlavorB").res.srcDirs(
                "src/flavorb/res"
        )
    }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。