我有一个专业的Android应用程序,客户希望在构建时支持蒙皮。
例如:mvn clean install-P Developer,mvn干净安装-P客户1,mvn干净安装-P客户2
换句话说,不同的客户需要不同的图像集、不同的字符串(appName、版权等),而且布局中的一些元素应该隐藏或显示(开发人员配置文件),所以布局也不同。
我的第一个想法是将res-customer1、res-customerC2等文件夹与标准res目录并行,并在pom.xml中进行配置文件定义的交换,也将其重命名为res,但这似乎不起作用。我总是把原始的res文件夹放进构建中,在这种情况下,重复错误。
这是否意味着交换应该在res内部进行?我没有在android maven插件的配置中指定resourceDirectory。
我一直在谷歌上搜索,但到目前为止,我并没有发现任何人有同样的问题。如何解决?这有什么普遍的模式吗?
提前感谢
根据yorkw的答案,这个解决方案对我有效:
对于每个概要文件,需要将resourceDirectory添加到android maven插件的配置中。
例如:
<resourceDirectory>${project.basedir}/res-customer1</resourceDirectory>
<resourceDirectory>${project.basedir}/res-customer2</resourceDirectory>
等等。。。
如果你想为不同的构建配置文件使用不同的资产或资源,如果你甚至想以不同的方式合并每个构建的多个这样的目录,你可以关注这篇很棒的博客文章:
https://ebuddytechblog.wordpress.com/2013/04/08/branded-android-builds-using-maven/