版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jhl122/article/details/74171966
定义额外属性的方式介绍三种:
- ext代码块
- gradle.properties文件
- -P命令行参数
1,ext代码块
就是在工程的build.gradle文件中通过ext代码块来设置属性,比如可以是compileSdkVersion或者buildToolsVersion等等 任意属性
ext{
kotlin_version = '1.1.2-4'
minSdkVersion = 16
}
该段代码是的模块层的构建文件可以使用 rootProject来获取属性:
android{
minSdkVersion rootProject.ext.minSdkVersion
}
一些依赖总会使用这种方法,这样方便管理版本
2,gradle.properties文件
在gradle.properties文件中添加属性
targetSdkVersions = 25
在moudle层调用:
targetSdkVersion targetSdkVersions
3,通过-P命令行参数
这个就涉及到gradle里面的任务创建和执行,在moudle的build.gradle中创建任务,任务不在android代码块里面单独存在。
task printProperties<<{
if (project.hasProperty('cmd')){
print cmd
}
}
然后在gradle.properties文件中设置属性:
cmd = hellow command line
最后执行任务printProperties,可以通过代码执行,也可以手动在studio右侧gradle中找到任务printProperties点击执行,然后在Gradle Console窗口就可以看到输出的结果:
:kotlin:printProperties
hellow command line
注意:
工程的构建文件和模块的构建文件同时定义属性,如果模块定义了一个在工程中已经存在的属性,那么新属性将覆盖原来的属性。