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 については、独自の目的で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はsigningConfigsであり、これは重要ではないため、コードの貼り付けをスキップします。
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
}
...
}