在Android Studio的build.gradle中,是否有一种方式可以根据多个flavor来设置编译依赖关系?
我有2个flavorGroups,每个flavorGroup都有2个变体。在4个可能的组合中,我希望只有当我同时处于最新和免费flavor时才能依赖于一个库。latestCompile或freeCompile可以工作,但latestFreeCompile不能。这是我的build.gradle文件的相关部分:
android {
defaultConfig {
minSdkVersion 7
targetSdkVersion 19
versionCode 15
versionName "1.9." + versionCode
}
flavorGroups 'sdk', 'cost'
productFlavors {
latest {
flavorGroup 'sdk'
minSdkVersion 8
}
sdk7 {
flavorGroup 'sdk'
minSdkVersion 7
versionName android.defaultConfig.versionName + ".sdk7"
}
free {
flavorGroup 'cost'
}
pro {
flavorGroup 'cost'
}
}
}
dependencies {
// this works:
freeCompile files('libs/StartAppInApp-2.2.1.jar')
// and I would like something like this:
latestFreeCompile 'com.google.android.gms:play-services:4.1.32' // minSdkVersion:8
}
若我使用:
latestCompile 'com.google.android.gms:play-services:4.1.32'
然后它也将包含在latestPro中(不需要),如果我使用:
freeCompile 'com.google.android.gms:play-services:4.1.32'
那么它也将包含在sdk7Free中(尽管需要SDK 8)