特定のフレーバー グループの組み合わせのファイルまたは構成設定を提供できるかどうか疑問に思っています。たとえば、それぞれ 2 つの異なるフレーバーを持つ 2 つのフレーバー グループがあります。
フレーバー グループ: バージョン
- v2
- v3
フレーバーグループ: タイプ
- 自由
- 満杯
「タイプ」、「バージョン」を注文すると、アプリの 4 つの異なるフレーバーをビルドできます。
- FreeV2
- FreeV3
- FullV2
- FullV3
ソースツリーは次のようになります。
/src
/free
/res
/full
/res
/v2
/java
/res
AndroidManifest.xml (features and permissions for v2 flavors)
/v3
/java
/res
AndroidManifest.xml (features and permissions for v3 flavors)
これはまさに私が望んでいるものであり、私のプロジェクトでは非常にうまく機能します。ただし、特定のフレーバー グループの組み合わせのファイルを提供できればと思います。たとえば、FullV3 と FullV2 に異なる AndroidManifests を提供したいと考えています。私はこれが可能だとは思いませんか?例えば:
/src
/free
/res
/full
/res
/v2
/java
/res
AndroidManifest.xml (features and permissions for v2 flavors)
/v3
/java
/res
AndroidManifest.xml (features and permissions for v3 flavors)
/fullv3
AndroidManifest.xml (features and permissions for full v3 only!)
/fullv2
AndroidManifest.xml (features and permissions for full v2 only!)
gradleビルドファイルでもこれを行うことができればうれしいです:
productFlavors {
free {
packageName ...
flavorGroup "type"
}
full {
packageName ...
flavorGroup "type"
}
v2 {
packageName ...
flavorGroup "version"
}
v3 {
packageName ...
flavorGroup "version"
}
fullv2 {
... <-- specifically for the full-v2 combination
}
fullv3 {
... <-- specifically for the full-v3 combination
}
}
注: 1 つの解決策は、1 つのフレーバー グループのみを持ち、4 つのフレーバーを明示的に定義することです。
- freeV2
- freeV3
- フルV2
- フルV3
ただし、これは実行可能な解決策ではありません。これは、各バージョンの無料および完全なフレーバーのバージョン固有のコードをすべて複製する必要があるためです。