6

Mavenized の Android アプリケーションを持っていますが、顧客はビルド時のスキニングのサポートを求めています。

例: mvn clean install -P Developer、mvn clean install -P Customer1、mvn clean install -P Customer2

言い換えれば、顧客ごとに少しずつ異なる画像セット、異なる文字列 (appName、copyright など) が必要であり、レイアウト内の一部の要素を非表示または表示する必要がある (開発者プロファイル) ため、レイアウトも異なります。

私が最初に考えたのは、標準の res ディレクトリと並行して res-customer1、res-customer2 などのフォルダーを作成し、pom.xml のプロファイル定義でスワップを行い、名前を res に変更することでしたが、うまくいかないようです。私は常に元の res フォルダーをビルドに入れますが、この場合はエラーが重複しています。

これは、スワップが res 内で行われるべきであることを意味しますか? Android Maven プラグインの構成で resourceDirectory を指定しませんでした。

私はたくさんグーグルで検索してきましたが、これまでのところ、同じ問題を抱えている人は見つかりませんでした。それを解決する方法は?そのための一般的なパターンはありますか?

よろしくお願いします

4

2 に答える 2

6

yorkwからの回答に基づいて、このソリューションは私のために機能します:

プロファイルごとに、resourceDirectoryをandroidmavenプラグインの構成に追加する必要があります。

例えば:

<resourceDirectory>${project.basedir}/res-customer1</resourceDirectory> <resourceDirectory>${project.basedir}/res-customer2</resourceDirectory>

等...

于 2012-03-15T06:55:54.137 に答える
1

ビルド プロファイルごとに異なるアセットやリソースを使用したい場合や、各ビルドの複数のディレクトリを別々にマージしたい場合は、次のすばらしいブログ投稿に従ってください。

https://ebuddytechblog.wordpress.com/2013/04/08/branded-android-builds-using-maven/

于 2013-11-27T09:49:51.353 に答える