私はの中でのみ使用されるアクティビティを持っています。異なるフレーバー。このアクティビティが2つのフレーバにのみ割り当てられるように、Androidでフレーバを使用することは可能ですか?Android:4つのフレーバーのうちの2つで1つのアクティビティ
答えて
各フレーバにカスタムソースファイルの場所を定義できます。これが可能である一方、例
productFlavors {
flavor2 {
}
flavor1 {
}
}
sourceSets{
main {
manifest.srcFile 'AndroidManifest.xml'
}
flavor2 {
manifest.srcFile 'AndroidManifest-flavor2.xml'
res.srcDirs = ['res-flavor2', 'res']
java.srcDirs = ['src/flavor2/java','src/java']
}
flavor1 {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src/flavor1/java','src/java']
}
しかしに関しては、は、私は強くあなたが別の味からいくつかの機能をインポートしたい場合は、インポート部分が地獄になりますので、このアプローチを避けるために、あなたをアドバイス。
また、コードを複雑にする可能性があります。これは、維持しにくいif (flavor1)... else if (flavor2)..
コードをたくさん作成することになる可能性があるためです。
簡単な解決策は、常に最高です。だから以下を考慮する。
- アーキテクチャをsubmodulesに分割します。あなたのメインモジュールは内部に共通のコードを持ちます。
- 追加したいさまざまな機能用のライブラリモジュールを作成します。変更 私は、これは保守性構造を作成する上であなたの出発点を与えることを願っています
のための増加制御し、バックアップを持っているために使用Gitのrepositoriesおよび各モジュールのbranches
詳細な回答ありがとうございます。しかし、これは実際に私の要件を満たすことができないことを意味します。あなたの解決策では、同じ味のjava.srcDirsを使ってActivityAをflavor1とflavor2(mis)に割り当てることができます(flavor3とflavor4にはActivityAが表示されません)。同意しますか? – Ragnar
私が使用しないことを示唆した答えでは、フレーバー1と2は同じ構造を指し、フレーバー3と4は他のフレーバーを指すかもしれません。あなたは常にサブディレクトリを持つディレクトリを指し示すことができ、共通のクラスはスーパーディレクトリの1つにあり、利用可能であることを忘れないでください。一方、gitリポジトリとサブモジュールを使用すると、優雅な問題で穏やかに問題を解決できます。 – Arkde
- 1. 1つのアクティビティで2つのphonegap webview
- 2. 1つのアクティビティで2つのonActivityResults
- 3. Android:1つの画面で2つのアクティビティを表示
- 4. Androidダイアログ1つではなく2つのアクティビティで表示
- 5. 1つのアクティビティ用の2つのランチャ
- 6. Android:1つのレイアウトを共有する2つのアクティビティ
- 7. 2つのサブミットボタンのうちの1つのバリデーション
- 8. doctrine associationちょうど2つのテーブルのうちの1つを埋める
- 9. リアクタ・ルータ - 2つのルートのうちの1つ
- 10. 2つのデータセンターのうちの1つを廃止する
- 11. 2つの親のうちの1つに属するモデル
- 12. MongoAlchemy:異なる2つのDocumentFieldのうちの1つ
- 13. 2 1つのアクティビティでのアクション
- 14. Android:3つのアイコンのうち1つを薄く塗る
- 15. 2つのうち1つのボールを検出する(Python)
- 16. 2つのルールのうち1つが発射されない
- 17. 1つのAndroidアクティビティに2つのonNewIntent()を設定できますか?
- 18. Android - 2つのスピナーが1つのアクティビティ - データを保存できません
- 19. Androidスタジオ:1つのボタンで2種類のアクティビティ
- 20. アンドロイド3.0以上の1つのアクティビティで2つのリストビュー
- 21. Android:2つのTextView、2つのフォント、1つのみ適用
- 22. Androidの1つのアクティビティをポップアップウィンドウ
- 23. Android:1つのアクティビティに複数のオプションメニュー
- 24. 1つのアクティビティで2つのリストビューを使用する
- 25. 1つのスレッドと2つのアクティビティ(アンドロイド)間でデータを送信
- 26. 1つのアクティビティで2つのギャラリービューを追加する
- 27. 1つのアクティビティで2つのosmdroidマップ・ビューを使用する
- 28. 2つのアクティビティを1つのタブで表示
- 29. 4つのラジオボタンのうちの1つが隠されています
- 30. 4つのボタンのうち1つのボタンだけをハイライトする方法
具体的なことができますか?私が理解しているところでは、アクティビティクラスと4つのGradle Flavorがあります。このアクティビティをいくつかのフレーバでのみ表示しますか?そうですか? – Arkde
正しい。 2つのフレーバーがアクティビティを表示し、残りの2つはアクティビティを表示する必要があります。 – Ragnar