わかりました。Androidプロジェクトでantからmavenに切り替えて、次のように簡単に実装できるかどうか疑問に思っています。
現在、リリースビルドを作成するためのいくつかのターゲットを持つカスタムbuild.xmlスクリプトがあります。それらのそれぞれは、異なるサーバーURLに対して実行するアプリケーションを構築するために使用されます。サーバーは、他の国にある開発サーバー、本番サーバー、ステージングサーバー、さらにはデプロイメントサーバーにすることができます。
その理由は、私たちのアプリケーションは、誰がそれを取得するかに応じていくつかの異なるサーバーに対して実行されるため、ユーザーが選択するものにしたくないからです。代わりに、アプリケーションにハードコーディングする必要があります。これが現在の動作方法です。
これはantでセットアップするのはかなり簡単です。[env].propertiesファイルから値を取得し、res / values/config.xmlのserver_url文字列を置き換えるだけです。例えば:
ant release-prod
server_urlが何であるかを定義するprod.propertiesという名前のファイルをプルリードします。config.xmlファイルを次のようにconfig/config.xmlに保存します。
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<string name="config_server_url">@CONFIG.SERVER_URL@</string>
</resources>
次に、私のantスクリプトはこれを行います。
<copy file="config/config.xml" todir="res/values" overwrite="true" encoding="utf-8">
<filterset>
<filter token="CONFIG.SERVER_URL" value="${config.server_url}" />
</filterset>
</copy>
config.server_urlがprod.propertiesで定義されている場所。
Mavenと同様のことをどのように達成できるのでしょうか。何か案は。Mavenでプロパティファイルを読み取る方法を調べたところ、それが機能するかどうかにかかわらず、結果がまちまちであるように見えました。