Переменное имя пакета с 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 или что-то в этом роде?
Ответы
Ответ 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>