我为同一个应用制作了4种不同的样式,并将它们全部作为免费应用发布在Play商店中。
现在,我为它们中的每一个制作一个付费版本,为了实现这一点,我创建了2种新口味:免费和付费,并且这些口味与4个应用程序中的一个不同。这4个应用具有“版本”维度,免费/付费版本具有“模式”维度。
我要弄清楚如何为每个版本/模式对设置不同的版本代码和名称,例如:flavourAFree-> versionCode 1 / flavourAPaid-> versionCode 2
这是我的代码:
flavorDimensions "version", "mode"
productFlavors {
flavourA {
dimension "version"
...
}
flavourB {
dimension "version"
...
}
flavourC {
dimension "version"
...
}
flavourD {
dimension "version"
...
}
free {
dimension "mode"
}
paid {
dimension "mode"
}
}
我要实现的示例(不完全是这些值):
flavourAFree {
versionCode 1
versionName "1.0"
}
flavourAPaid {
versionCode 4
versionName "2020.2.0"
}
当我尝试同步Gradle脚本时,出现以下错误:
配置项目':app'时发生问题。 风味'flavorA'没有风味尺寸。
有没有办法做我想做的事?
答案 0 :(得分:0)
android {
defaultConfig {
versionCode 13
versionName "2020.2"
}
flavorDimensions "version", "mode"
productFlavors {
flavourA {
dimension "version"
...
}
flavourB {
dimension "version"
...
}
flavourC {
dimension "version"
...
}
flavourD {
dimension "version"
...
}
free {
dimension "mode"
versionCode android.defaultConfig.versionCode
versionName android.defaultConfig.versionName + ".3"
}
paid {
dimension "mode"
versionCode android.defaultConfig.versionCode - 12
versionName android.defaultConfig.versionName + ".0"
}
}
我不知道这是否是您要的东西,但它会创建:
versionCode = 13
和versionName = "2020.2.3"
的flavourAFree versionCode = 13
和versionName = "2020.2.3"
的flavourBFree versionCode = 1
和versionName = "2020.2.0"
的flavourAPaid versionCode = 1
和versionName = "2020.2.0"
有关更多信息,我建议this article