我使用Maven构建Android应用程序。我必须使用相同的代码库构建不同的应用程序。但每个都包含不同的主题(来自color.xml
的按钮和页面颜色以及来自可绘制文件夹的彩色图标)。每次在发布每个应用程序之前我都会手动替换这些
您能否建议使用工具轻松完成此操作?或者是否可以通过提供所需的目录路径来替换Maven中的color.xml
和图像?
我在整个互联网上搜索过,但我无法找到这个特定问题的答案。
答案 0 :(得分:1)
您可以使用maven profiles和resource plugin
执行此操作您需要在pom.xml
:
</profiles>
<profile>
<id>variantA</id>
<build>
<!-- custom conf for variant A -->
</build>
</profile>
</profile>
<profile>
<id>variantB</id>
<build>
<!-- custom conf for variant B -->
</build>
</profile>
</profiles>
然后使用所需的配置文件调用您的构建:
mvn clean install -P variantB
使用Resource插件,您可以覆盖整个color.xml文件(在此示例中,在文件夹color.xml
中创建src/templates/resVariantA
文件):
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<phase>initialize</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.basedir}/res</outputDirectory>
<overwrite>true</overwrite>
<resources>
<resource>
<directory>${project.basedir}/src/templates/resVariantA</directory>
<targetPath>${project.basedir}/res</targetPath>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
希望它有所帮助。