I am using following flavors to improve debug builds for devices with Android 5 and above:
productFlavors {
// Define separate dev and prod product flavors.
dev {
// dev utilizes minSDKVersion = 21 to allow the Android gradle plugin
// to pre-dex each module and produce an APK that can be tested on
// Android Lollipop without time consuming dex merging processes.
minSdkVersion 21
}
prod {
// The actual minSdkVersion for the application.
minSdkVersion 16
}
}
However not all of my devices runs under api 21+, thus I want to control multiDex and minifying. E.g.:
productFlavors {
dev {
minSdkVersion 21
multiDexEnabled false
minifyEnabled false
}
prod {
minSdkVersion 16
multiDexEnabled true
minifyEnabled true
}
}
But that's gives me:
Error:(44, 0) Could not find method minifyEnabled() for arguments [false] on ProductFlavor_Decorated
How can I combine those properties together?
minifyEnabled()
propery available only in BuildType DSL object. While multiDexEnabled
refers to ProductFlavor object. So if you want to combine these properties, you have to specify it in both of these objects. E.g.:
productFlavors {
dev {
minSdkVersion 21
multiDexEnabled false
}
prod {
minSdkVersion 16
multiDexEnabled true
}
}
buildTypes {
debug {
minifyEnabled false
}
release {
minifyEnabled true
}
}
For debug builds use devDebug
build variant, for release - prodRelease
.