Переменное имя пакета с плагином Maven Android

Я использую плагин Maven Android для создания своего приложения.

На самом деле, я создаю 3 "фирменные" версии одного и того же приложения (меняются значок приложения, цвета и т. Д., Но не функции). Я знаю, что мне нужно использовать разные имена пакетов для каждого приложения, чтобы они считались разными.

До сих пор мне удавалось иметь "динамические" значения, используя фильтры Maven в strings.xml:

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

Проблема в том, что это не работает для имени пакета! Если я сделаю:

<manifest package="${foo.bar}">

ADT (ну, собственно, валидатор XML) жалуется, говоря, что в атрибутном пакете есть недопустимый символ '$'

Я не могу найти обходного пути для этого... Есть ли способ сказать ADT запустить фильтрацию ресурсов Maven или что-то в этом роде?

1 ответ

Решение

После дальнейших исследований это кажется довольно простым!

Вам просто нужно добавить <renameManifestPackage> в конфигурации Maven Android Плагин. Кажется, работает, начиная с версии> 2.9.0:

<plugin>
    <groupId>com.jayway.maven.plugins.android.generation2</groupId>
    <artifactId>maven-android-plugin</artifactId>
    <version>2.9.0-beta-5</version>
    <configuration>
        ...
        <renameManifestPackage>${manifest_package}</renameManifestPackage>
    </configuration>
</plugin>
Другие вопросы по тегам