Maven Android插件的变量包名称

问题描述:

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

到目前为止,我已经成功地拥有“动态”的价值观,在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资源过滤或类似功能的方法?

经过深入研究,它看起来相当简单!

您只需要在Maven Android Plugin的配置中添加<renameManifestPackage>即可。似乎开始工作版本> 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> 
+1

它是否适合你?我得到的应用程序无法安装到仿真器 –

+0

好的。它的工作原理,但我试图安装这两个应用程序时得到问题 –

+0

男人,这是一年半前回答,它曾经工作,不知道现在用最新的SDK,对不起 – mexique1