Храните конфиги ароматов в отдельных файлах.gradle
Если коротко - есть ли способ сохранить конфиги ароматов в отдельных файлах.gradle?
И для более подробной информации - я хотел бы иметь файлы.gradle для каждого аромата (например, flavGermany.gradle, flavUkraine.gradle, flavItaly.gradle и т. Д.), Которые будут включены в директиву apply из основного приложения. Каждый вариант.gradle будет содержать конфиги для подписи и сборки.
2 ответа
Что вы можете. Просто поместите эти файлы в папку приложения и затем импортируйте их в папки приложения build.gradle.
Ваш flavourGermany.gradle будет выглядеть так:
android {
productFlavors {
flavorGermany {}
}
}
И затем вы импортируете их в свой build.gradle (приложение):
apply plugin: 'com.android.application'
apply from: 'flavorGermany.gradle'
apply from: 'flavorUkraine.gradle'
При настройке подписи аромата в отдельном файле.gradle я получил сообщение об ошибке:
flavorGermany.gradle: 1: unable to resolve class com.android.ide.common.signing.KeystoreHelper
В flavourGermany.gradle KeystoreHelper используется следующим образом:
android {
signingConfigs {
germany {
storeFile = file(KeystoreHelper.defaultDebugKeystoreLocation());
storePassword = "some_password";
keyAlias = "some_key";
keyPassword = "some_other_key";
}
}
// other configs ...
}
Чтобы это исправить, я должен был добавить это до определения "android":
buildscript {
repositories {
mavenCentral()
}
dependencies {
// Android gradle plugin
classpath 'com.android.tools.build:gradle:2.1.3'
}
}
С этим изменением исчезла ошибка импорта, и Android Studio смогла распознать дополнительный вариант, описанный в отдельном файле.gradle.