通用配置
gradle中提供了很多全局配置的方法。
通过groovy实现多project统一
build.gradle
// 配置当前的project与所有的subProject
allprojects {
version = "1.0.0"
group = "com.test.www"
android {}
dependencies {}
}
上面的一段代码,我们可以为我们所有的Project进行全局统一配置,避免多module时带来不必要的麻烦。
// 配置当前的project与所有的subProject
subprojects {
version = "1.0.0"
group = "com.test.www"
if(it.plugins.hasPlugin('com.android.library')){
apply from: '../publish2Maven.gradle'
}
}
上面一段代码,我们可以针对于不module做一些逻辑,比如我们可以将lib的代码发布到maven中。
通过Gradle内ext扩展
build.gradle
ext {
// 在rootProject 中扩展属性
ext.supportLibrary = '27.0.2'
}
使用
// 由于定义在rootProject中,我们使用root的引用获取对应的扩展
compile "com.android.support:appcompat-v7:$rootProject.supportLibrary"
// 由于是继承关系,我们也可以直接使用相应的扩展
compile "com.android.support:cardview-v7:$supportLibrary"
通过setting.gradle配置
setting.gradle
ext.supportLibrary = '27.0.2'
使用
compile "com.android.support:cardview-v7:$supportLibrary"
在提供一个通用写法。
我们在根目录创建一个common.gradle的脚本文件。键值对形式存储。
ext{
android = [
compileSdkVersion : 26
buildToolsVersion : '26.0.0'
]
}
应用插件 apply from: this.file('common.gradle') 后即可使用,方法与ext一致。
网友评论