在 Android Studio (v2.2) 中同步成绩文件时出现以下错误日志:
Error:(184, 0) Could not get unknown property 'freeAppDev' for ProductFlavor container.
背景:
我有一个适用于 3 个开发环境(例如 dev、uat 和 production)的 2 个版本的应用程序(例如 freeApp 和paidApp)。我这样设置我的 app.gradle 文件:
flavorDimensions "ver", "env"
productFlavors {
freeApp {
dimension "ver"
...
}
paidApp {
dimension "ver"
...
}
dev {
dimension "env"
...
}
uat {
dimension "env"
...
}
production {
dimension "env"
...
}
}
对于 buildTypes,我创建了一个自定义的调试类型“alpha”,这样我就可以为自己的目的设置signingConfig:
buildTypes {
alpha {
productFlavors.freeAppDev.signingConfig signingConfigs.custom1DebugKey
productFlavors.freeAppUat.signingConfig signingConfigs.custom2DebugKey
productFlavors.freeAppProduction.signingConfig signingConfigs.customReleaseKey
productFlavors.paidAppDev.signingConfig signingConfigs.custom1DebugKey
productFlavors.paidAppUat.signingConfig signingConfigs.custom2DebugKey
productFlavors.paidAppProduction.signingConfig signingConfigs.customReleaseKey
}
...
}
custom1DebugKey、custom2DebugKey、customReleaseKey 是正在签名的配置,这不是重点,所以我只是跳过粘贴代码。
我想问一下当productFlavors中有多个维度时,如何在“productFlavors.XXX.signingConfig”中获得正确的XXX名称。谢谢。
PS有关更多信息,它可以通过像这样修改gradle文件来完美地为我工作:
productFlavors {
freeAppDev {
...
}
freeAppUat {
...
}
freeAppProduction {
...
}
paidAppDev {
...
}
paidAppUat {
...
}
paidAppProduction {
...
}
}
buildTypes {
alpha {
productFlavors.freeAppDev.signingConfig signingConfigs.custom1DebugKey
productFlavors.freeAppUat.signingConfig signingConfigs.custom2DebugKey
productFlavors.freeAppProduction.signingConfig signingConfigs.customReleaseKey
productFlavors.paidAppDev.signingConfig signingConfigs.custom1DebugKey
productFlavors.paidAppUat.signingConfig signingConfigs.custom2DebugKey
productFlavors.paidAppProduction.signingConfig signingConfigs.customReleaseKey
}
...
}