Android build.gradle 从另一个文件导入风味

j2e*_*nue 4 android gradle build.gradle

我已将产品 Flavors 放入另一个名为的文件中other.gradle,它看起来像这样:

project.ext.myflavors =  {
 mock {
     applicationId "com.mysite.mock"
 }

}
Run Code Online (Sandbox Code Playgroud)

我能够build.gradle像这样成功访问我的文件中的闭包:

myflavors()
Run Code Online (Sandbox Code Playgroud)

但我收到一个错误,即未定义模拟方法。

Error:Gradle DSL method not found: 'mock()'
Run Code Online (Sandbox Code Playgroud)

有没有办法从另一个文件中定义代码并将代码本身导入到构建文件中?或者我如何从另一个文件导入口味?

sfe*_*era 7

构建风格可以在一个单独的文件 ( build_flavors.gradle) 中定义,如下所示:

android {
    productFlavors {
        flavorA {
            // ...
        }
        flavorB {
            // ...
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

然后导入到build.gradle

apply plugin: 'com.android.application'
apply from: './build_flavors.gradle'

android {
    // the rest of your android configuration
}
Run Code Online (Sandbox Code Playgroud)