使用Maven Android插件的变量包名称

时间:2011-09-29 11:40:39

标签: android maven adt

我正在使用Maven Android插件来构建我的应用程序。

实际上,我正在构建相同应用程序的3个“品牌”版本(应用程序图标,颜色等......更改,但不是功能)。我知道我需要为每个应用程序使用不同的包名称,因为它们被认为是不同的。

到目前为止,我已经设法在strings.xml中使用Maven过滤器获得“动态”值:

<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 个答案:

答案 0 :(得分:17)

经过进一步研究,看起来相当容易!

您只需在Maven Android插件的配置中添加<renameManifestPackage>即可。似乎从版本&gt;开始工作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>