2011-07-19 27 views
0

我正在使用Maven(3.x)在Hudson中構建Android應用程序。作爲構建的一部分,我使用過濾/配置文件對strings.xml文件進行文本替換。Maven在構建Android應用程序中的過濾

所以的strings.xml內,我將有條目,如:

<string name="app_name">${app_name}</string> 

在pom.xml文件,我有文件條目:

<profiles> 
<profile> 
    <id>local</id> 
    <properties> 
     <app_env>local</app_env> 
     <app_name>Acme-loc</app_name> 
    </properties> 
</profile> 
<profile> 
    <id>dev</id> 
    <properties> 
     <app_env>dev</app_env> 
     <app_name>Acme-dev</app_name> 
    </properties> 
</profile>  
.... 

當我看到裏面的* .apk,strings.xml文件被正確替換。但是,當安裝在設備中時,我看到$ {app_name},這導致我相信替換是在應用程序編譯之後發生的(R文件在替換之前編譯)。有沒有人使用這種方法成功,如果是這樣,你如何指定構建的哪一步發生替換,以便替換髮生在R文件編譯之前?有沒有更好的替代Maven過濾來實現我在找什麼?

+0

請更新您的[原始問題](http://stackoverflow.com/questions/6630511/maven-filtering),而不是重新發布它。 –

回答

1

要麼將​​maven-resources-plugin配置爲在生成源代碼階段觸發,要麼使用maven-replacer-plugin進行替換(允許您在任何階段執行)。

+0

查看其他信息。 –