7

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

有关更多详细信息 - 我希望每个风味的 .gradle 文件(如 flavorGermany.gradle、flavorUkraine.gradle、flavorItaly.gradle 等)将包含在“apply from:”指令中到主 gradle 中。每个风味 .gradle 都将包含签名和构建配置。

4

2 回答 2

14

你当然可以。只需将这些文件放在 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'
于 2016-09-14T16:09:06.330 回答
1

在单独的 .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 文件中描述的额外风味。

于 2016-09-15T10:15:13.217 回答