2012-03-14 79 views
6

我已经有了maven化的Android应用程序,客户希望在构建时为蒙皮提供支持。使用Maven构建配置文件蒙皮的Android应用程序

例如: MVN全新安装-P开发, MVN全新安装-P customer1表, MVN全新安装-P顾客2

换句话说,不同客户的需求有点不同的图像集,不同的字符串(appName,版权等),而且布局中的一些元素应该隐藏或显示(开发人员配置文件),所以布局也不同。

我的第一个想法是让res-customer1,res-customer2这些文件夹与标准res目录并行,并在pom.xml中执行配置文件定义中的交换,并将其重命名为res,但似乎没有工作。我总是将原始res文件夹放入构建中,在这种情况下,重复出现错误。

这是否意味着交换应该在res内发生?我没有在android maven插件的配置中指定resourceDirectory。

我一直在谷歌搜索了很多,但到目前为止,我没有找到任何人有同样的问题。如何解决它?有没有什么一般的模式?

提前

+1

你有没有真的试图规范ify resourceDirectory在配置Android Maven的每个配置文件?例如 $ {project.basedir}/res-custom1。这应该如你所料。 – yorkw 2012-03-14 10:25:54

+0

我正在努力,看起来你是对的,我的朋友。我会回来的确定的答案,但很多非常感谢。 – MartinC 2012-03-14 13:05:54

+0

好吧,它的工作原理,你让我的一天,约克:)非常感谢你。 – MartinC 2012-03-14 14:55:07

回答

1

如果要使用不同的资产或资源的不同打造专业化的配置文件,如果你甚至要合并每个版本的多个这样的目录不同的,你可以按照这个伟大的博客帖子:

https://ebuddytechblog.wordpress.com/2013/04/08/branded-android-builds-using-maven/

+0

谢谢,我会看看 – MartinC 2013-11-27 15:06:57

+0

@Blackhex链接不再有效:警告!未找到该域的域映射升级。请登录并转到博客的“域名升级”页面以使用此域。 – NightSkyDev 2017-07-09 17:12:32

+0

链接已更新,感谢您的通知。 – Blackhex 2017-07-09 21:07:49

6

非常感谢基于从yorkw答案,这个解决方案适用于我:

对于每个配置文件,resourceDirectory需要被添加进到Android Maven插件的配置。

例如:

<resourceDirectory>${project.basedir}/res-customer1</resourceDirectory> <resourceDirectory>${project.basedir}/res-customer2</resourceDirectory>

等等

+0

是否有可能会像Gradle中那样自动合并多个资源和资产目录? – Blackhex 2013-11-27 09:00:04

+0

这是!看到我对这个问题的回答。 – Blackhex 2013-11-27 09:48:33

相关问题