Maven Filtering при создании приложения для Android - PullRequest
0 голосов
/ 19 июля 2011

Я использую Maven (3.x) для создания приложения Android в Hudson.Я использую фильтрацию / профили для текстовой подстановки файла strings.xml как части сборки.

Так что в 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 для достижения того, что я ищу?

1 Ответ

1 голос
/ 20 июля 2011

Либо сконфигурируйте плагин maven-resources-plugin для запуска на этапе генерации источников, либо используйте замену maven-replacer-plugin (что позволяет выполнять на любой фазе, которую вы хотите).

...