这对我在Android Studio 0.8.9中有效,使用默认的gradle wrapper 1.12-all。
App是由Lite和Pro使用的库,其中Lite / Pro是我正在制作的应用程序的两种不同版本。 我想在所有模块之间共享配置。 全局配置位于根gradle.build文件中,所有子项目/模块都可以读取这些属性。
我的项目结构如下:
Project/
gradle.build
settings.gradle
App/
gradle.build
Lite/
gradle.build
Pro/
gradle.build
在 Project/gradle.build 文件中,我添加了一个子项目配置:
subprojects {
ext.global_compileSdkVersion = 19
ext.global_buildToolsVersion = "20.0.0"
...
}
ext。[变量名]添加了可以在子项目中读取的变量。我添加了前缀“global_”,这样更容易看到我的属性。(还要注意,我使用等号将值分配给变量)
在每个子项目/模块中,gradle文件看起来像这样:
android {
compileSdkVersion global_compileSdkVersion
buildToolsVersion global_buildToolsVersion
...
}
注意!
Android Studio集成开发环境好像不知道子项目中的“ext”,但Gradle知道。因此,在查看Gradle文件时,它会显示为警告,但是构建仍将正常工作。因为它不知道“ext”,所以它似乎也不知道您添加的变量,因此这些变量也将在IDE中作为警告下划线显示。但是它可以工作 :)
ext { }
块吗? - IgorGanapolsky