2016-07-20 27 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