问题描述
我有 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"
)
}