2014-04-02 52 views
1

我使用Maven構建Android應用程序。我必須使用相同的代碼庫構建不同的應用程序。但是每個都包含不同的主題(來自color.xml的按鈕和頁面顏色以及可繪製文件夾中的彩色圖標)。每次發佈每個應用程序之前,我都會手動替換它們構建期間替換color.xml和圖像

你能提出一個簡單的方法來做到這一點與工具?或者是否有可能通過提供所需的目錄路徑來通過Maven來替換color.xml和圖像?

我在整個互聯網搜索,但我無法找到這個特定問題的答案。

回答

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> 

然後invoque你的構建與所需的配置文件:

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> 

希望它有幫助。