将口味配置保存在单独的 .gradle 文件中

Keep flavors configs in separate .gradle files

简短 - 有没有办法将风味配置保存在单独的 .gradle 文件中?

关于更多详细信息 - 我想要每种风格的 .gradle 文件(如 flavorGermany.gradle、flavorUkraine.gradle、flavorItaly.gradle 等) 'apply from:' 指令包含在主 gradle 中。 每种风格 .gradle 将包含签名和构建配置。

当然可以。只需将这些文件放在应用程序文件夹中,然后在您的应用程序文件夹中 build.gradle 导入这些文件。

您的 flavorGermany.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

在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 文件中描述的其他风味。