android - 使用 Maven 构建配置文件为 Android 应用程序换肤

标签 android maven build skinning profiles

我有 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/

相关文章:

android - 如何重启或关闭 Genymotion 设备?

android - GMail 中的 ListView 行标记

java - 跨多个项目共享单个 .editorconfig 文件

maven - 如何在命令行上指定 Maven 依赖插件 get 的版本范围

typescript - 在baseUrl之外导入文件时汇总+ Typescript错误

c++ - 如何在不启用异常(exception)的情况下构建boost 1.70.0?

android - Android Build 的报道

java - OpenCV Android 背景减法

java - 在eclipse tomcat上发布过滤后的web.xml

c++ - 是否有针对不同操作系统检查开源应用程序的构建农场?