Being short - is there a way to keep flavor configs in separate .gradle files?
And for more details - I'd like to have per flavor .gradle files (like flavorGermany.gradle, flavorUkraine.gradle, flavorItaly.gradle etc.) that will be included with 'apply from:' directive into main gradle. Each flavor .gradle will contain signing and build configs.
Sure you can. Just place those files in app folder and then in your app folders build.gradle import those.
Your flavorGermany.gradle would look like this:
android {
productFlavors {
flavorGermany {}
}
}
And then you import those in your build.gradle (app):
apply plugin: 'com.android.application'
apply from: 'flavorGermany.gradle'
apply from: 'flavorUkraine.gradle'
While configuring flavor signing in a separate .gradle file I got a sticky error telling:
flavorGermany.gradle: 1: unable to resolve class com.android.ide.common.signing.KeystoreHelper
In flavorGermany.gradle the KeystoreHelper is used this way:
android {
signingConfigs {
germany {
storeFile = file(KeystoreHelper.defaultDebugKeystoreLocation());
storePassword = "some_password";
keyAlias = "some_key";
keyPassword = "some_other_key";
}
}
// other configs ...
}
To fix this I had to add this before the 'android' definition:
buildscript {
repositories {
mavenCentral()
}
dependencies {
// Android gradle plugin
classpath 'com.android.tools.build:gradle:2.1.3'
}
}
With this change the import error has gone and the Android Studio was able to recognize the additional flavor described in a separate .gradle file.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With