以前はantに基づいていた、顧客用のandroidmavenビルドをセットアップする必要があります。
基本アプリはホワイトラベルの実装であり、アプリは複数のサードパーティの顧客に配布されます。これらの顧客バージョンはそれぞれ、同じソースコードと一連の共有リソースを使用しています。ただし、すべての顧客には、自社に固有のリソース(定数、資産など)もあります。
私のAndroidプロジェクトの構造は次のようになります。関連するファイル/フォルダーのみを含めましたが、構造はantビルドから残っています。
App
|--src
|--res
|--res-customer1
|--res-customer2
|--pom.xml
これは、同じソースから異なるリソースを使用して複数の.apkアーティファクトを構築する必要があることを意味します。これを行うための最良のアプローチは何ですか?
私が最初に試したのは、メインプロジェクトのpomですべての顧客に対して異なるプロファイルを使用することでした。次に、すべてのMavenビルドを実行するシェルスクリプトを作成しました(顧客ごとに1つ)。
次に、メインプロジェクトでリリースプロファイルを1つだけ使用し、コマンドラインを介して顧客固有のプロパティを渡すことを思いつきました。私の最初のアプローチと同様に、プロパティはシェルスクリプトを介して渡されます。
しかし、私はそれに満足していないので、複数のモジュールを使用することを考えました。顧客ごとに1つ。しかし、ここでの私の問題は、メインプロジェクトからすべてのモジュールにソースをコピーせずに、同じソースからそれらをビルドするにはどうすればよいですか?または、すべての顧客に対してAndroidプロジェクトをセットアップし、メインプロジェクトをapklibと呼ぶ必要がありますか?これにより、共有リソースと顧客固有のリソースがマージされますか?
このようなことを行うためのベストプラクティスはありますか?
他のアプローチも大歓迎です。