我有 mavenized Android 应用程序,客户希望在构建时支持皮肤。
例如: mvn clean install -P 开发人员, mvn clean install -P Customer1, mvn clean install -P Customer2
换句话说,不同的客户需要稍微不同的图像集、不同的字符串(appName、版权等),而且布局中的某些元素应该隐藏或显示(开发者资料),因此布局也不同。
我的第一个想法是将 res-customer1、res-customer2 等文件夹与标准 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>
等...
关于android - 使用 Maven 构建配置文件为 Android 应用程序换肤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9699485/