2016-07-20 28 views
1

假設flavor1a,flavor1b,flavor2a和flavor2b ...的build.gradle味源

假設的目錄結構:

SRC

-flavor1

-flavor2

- 主要是

有沒有一個簡單的方法,在gradle中做的以下:

productFlavors { 
    flavor1a { 
     // Point to src/flavor1 
    } 
} 

我似乎無法通過sourceSets =配置[ 'SRC/XXXX']在我的build.gradle每個產品的風味

+0

退房這個公認【答案】(http://stackoverflow.com/questions/19461145/gradle-flavors-for-android-with-custom-source-sets-what-should-the-gradle-文件)。你將不得不改變你的目錄結構,但它似乎是一個更好的解決方案 – Bill

+0

問題是,不同口味之間唯一不同的是applicationId。我不想複製這些文件夾,因爲它會使我的項目的空間增加一倍 – clockwerk

回答

1

取而代之的productFlavors塊內配置sourceSets,請嘗試:

productFlavors{ 
    flavor1{ 
    } 
    flavor2{ 
    } 
} 

sourceSets{ 
    main{ 
     java.srcDirs = ['src/main'] 
     //other typical sourceSets stuff 
    } 

    flavor1.java.srcDirs = ['src/flavor1'] 
    flavor2.java.srcDirs = ['src/flavor2'] 
} 
+0

這對我很有用,但我不需要添加一個main {} sourceSets只需添加口味 – clockwerk