Подтвердить что ты не робот

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

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

На самом деле, я строю 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 или что-то в этом роде?

4b9b3361

Ответ 1

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

Вам просто нужно добавить <renameManifestPackage> в настройку Maven Android Plugin. Кажется, работа начинается с версии > 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>