Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在生成过程中替换color.xml和图像_Android_Xml_Maven_Maven Plugin - Fatal编程技术网

Android 在生成过程中替换color.xml和图像

Android 在生成过程中替换color.xml和图像,android,xml,maven,maven-plugin,Android,Xml,Maven,Maven Plugin,我使用Maven构建Android应用程序。我必须用相同的代码库构建不同的应用程序。但是每一个都包含一个不同的主题(来自color.xml的按钮和页面颜色,以及来自drawable文件夹的彩色图标)。每次发布应用程序之前,我都会手动更换这些 你能推荐一个简单的方法来使用工具吗?或者可以通过Maven提供所需的目录路径来替换color.xml和图像吗 我在互联网上搜索过,但找不到这个问题的答案。您可以使用 您需要在pom.xml中定义配置文件: </profiles> <

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

你能推荐一个简单的方法来使用工具吗?或者可以通过Maven提供所需的目录路径来替换
color.xml
和图像吗

我在互联网上搜索过,但找不到这个问题的答案。

您可以使用

您需要在
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>
使用资源插件,您还可以覆盖整个color.xml文件(在本例中,在文件夹
src/templates/resVariantA
中创建
color.xml
文件):


org.apache.maven.plugins
maven资源插件
初始化
复制资源
${project.basedir}/res
真的
${project.basedir}/src/templates/resVariantA
${project.basedir}/res
真的
希望能有帮助

mvn clean install -P variantB
<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>