在构建期间替换color.xml和图像

时间:2014-04-02 08:04:49

标签: android xml maven maven-plugin

我使用Maven构建Android应用程序。我必须使用相同的代码库构建不同的应用程序。但每个都包含不同的主题(来自color.xml的按钮和页面颜色以及来自可绘制文件夹的彩色图标)。每次在发布每个应用程序之前我都会手动替换这些

您能否建议使用工具轻松完成此操作?或者是否可以通过提供所需的目录路径来替换Maven中的color.xml和图像?

我在整个互联网上搜索过,但我无法找到这个特定问题的答案。

1 个答案:

答案 0 :(得分:1)

您可以使用maven profilesresource 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>

希望它有所帮助。