我有一个应用程序的两个维度,称之为绿色和蓝色。只会有这两个维度,但产品口味数量是无限的。这就是我在Gradle中设置它的方式。
flavorDimensions "green", "blue"
productFlavors {
one {
applicationId "com.app.green.one"
versionCode 1
versionName "1.0.0.1";
flavorDimension = "green"
}
two {
applicationId "com.app.blue.two"
versionCode 6
versionName "1.0.1";
flavorDimension = "blue"
}
}
但是在同步Gradle之后,构建变体选项卡中我只看到了oneTwoDebug和oneTwoRelease,而应该看到greenOneDebug,greenOneRelease,blueTwoDebug和blueTwoRelease。
理论上,我想将其扩展为像这样的形式。
one {
applicationId "com.app.green.one"
versionCode 1
versionName "1.0.0.1";
flavorDimension = "green"
}
two {
applicationId "com.app.blue.two"
versionCode 6
versionName "1.0.1";
flavorDimension = "blue"
}
three {
applicationId "com.app.green.three"
versionCode 1
versionName "1.0.0.1";
flavorDimension = "green"
}
four {
applicationId "com.app.blue.four"
versionCode 6
versionName "1.0.1";
flavorDimension = "blue"
}
在此案例中,维度代表应用程序的“类型”,而口味则更多地用于可以添加的组织。
**编辑我对Gradle的设置有误,正如在这里指出的那样,这是我更准确的描述
flavorDimensions "type", "organization"
productFlavors {
blue {
applicationId "com.app.blue"
flavorDimension = "type"
versionCode 6
versionName "1.0.1";
}
red {
applicationId "com.app.red"
flavorDimension = "type"
versionCode 1
versionName "1.0.0.1";
}
company1 {
flavorDimension = "organization"
}
company2 {
flavorDimension = "organization"
}
}
到目前为止这是有效的,所以我可以为切换类型创建Java源目录,但是如果我想要组织特定的配置文件,我是否也要为每个组织创建Java源目录?