简短 - 有没有办法将风味配置保存在单独的 .gradle 文件中?
有关更多详细信息 - 我希望每个风味的 .gradle 文件(如 flavorGermany.gradle、flavorUkraine.gradle、flavorItaly.gradle 等)将包含在“apply from:”指令中到主 gradle 中。每个风味 .gradle 都将包含签名和构建配置。
简短 - 有没有办法将风味配置保存在单独的 .gradle 文件中?
有关更多详细信息 - 我希望每个风味的 .gradle 文件(如 flavorGermany.gradle、flavorUkraine.gradle、flavorItaly.gradle 等)将包含在“apply from:”指令中到主 gradle 中。每个风味 .gradle 都将包含签名和构建配置。
你当然可以。只需将这些文件放在 app 文件夹中,然后在您的 app 文件夹中 build.gradle 导入这些文件。
你的 flavorGermany.gradle 看起来像这样:
android {
productFlavors {
flavorGermany {}
}
}
然后你在你的 build.gradle (app) 中导入它们:
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
在 flavorGermany.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 文件中描述的额外风味。