自定义gradle的property
2016-04-14 16:25
344 查看
在android studio上运行项目,gradle的配置是必不可少的,但是随着项目的逐渐成长,迎面而来的就是.各种依赖包的添加,数不胜数的签名,渠道包等,整个gradle变得很乱,这样其实我们可以将gradle的部分内容分离出来放在另一个自定义gradle内. 如这时我们添加的Plugin 就只要对其赋值就可以了.
步骤:
在总项目根目录下创建 dependencies.gradle文件(名字可以自定义)
根目录下创建的自定义内容如下:
需要注意的是在dependencies.gradle文件中向Project添加额外的Property时,我们并不能直接定义,而是应该通过ext来定义。
一般我们使用闭包的方式,代码如下:
也可以不使用闭包的
当然gradle其实已经提供了很多自定义的property,一些常用的有:
project:Project本身
name:Project的名
description:Project的描述
version:Project的版本号
path:Project的绝对路径
buildDir:Project构建结果存放目录
在根目录的build.gragle下添加
接着在知道app工程的builde.gradle下添加依赖如下:
当然也可以配置其他,如 defaultConfig
当前app下的defaultConfig,引用dependencies.gradle 配置的参数
步骤:
在总项目根目录下创建 dependencies.gradle文件(名字可以自定义)
根目录下创建的自定义内容如下:
需要注意的是在dependencies.gradle文件中向Project添加额外的Property时,我们并不能直接定义,而是应该通过ext来定义。
一般我们使用闭包的方式,代码如下:
ext { //添加supportLibraryVersion属性 supportLibraryVersion = '23.1.1' //添加dependenciesretrofitVersion属性 dependenciesretrofitVersion = '2.0.0-beta2' //添加dependencies数组 dependencies = [ retrofit : "com.squareup.retrofit:retrofit:$retrofitVersion", retrofitConverterGson: "com.squareup.retrofit:converter-gson:$retrofitVersion", retrofitAdapterRxJava: "com.squareup.retrofit:adapter-rxjava:$retrofitVersion", ] }
也可以不使用闭包的
//添加supportLibraryVersion属性 ext.supportLibraryVersion = '23.1.1' //添加dependenciesretrofitVersion属性 ext.dependenciesretrofitVersion = '2.0.0-beta2'
当然gradle其实已经提供了很多自定义的property,一些常用的有:
project:Project本身
name:Project的名
description:Project的描述
version:Project的版本号
path:Project的绝对路径
buildDir:Project构建结果存放目录
在根目录的build.gragle下添加
apply from: 'dependencies.gradle'
接着在知道app工程的builde.gradle下添加依赖如下:
dependencies { //获取 dependencies.gradle 自定义的数组 Map<String, String> dependencies = rootProject.ext.dependencies compile dependencies.retrofit compile dependencies.retrofitConverterGson compile dependencies.retrofitAdapterRxJava }
当然也可以配置其他,如 defaultConfig
当前app下的defaultConfig,引用dependencies.gradle 配置的参数
defaultConfig { minSdkVersion rootProject.ext.androidMinSdkVersion targetSdkVersion rootProject.ext.androidTargetSdkVersion }
相关文章推荐
- 傻瓜式一键发布
- Linux目录结构和常用命令
- Eclipse中tomcat出现timeout
- OpenSSH本地和远程端口转发(tunnel)
- DUBBO架构学习记录
- centos6.7 安装 svn 及 web管理工具 iF.SVNAdmin
- win7中将文件拷贝到虚拟机linux下的方法
- 我的Linux之路
- shell远程执行 远程执行脚本
- 在团800运维工作总结之haproxy---rsyslog----kafka---collector--es--kibana
- Apache Arrow源码分析(三)——内存池与缓冲区
- ubuntu 12.04 编译安装 nginx
- python监控tomcat日记文件
- linux内核学习之进程和线程
- Linux-Root权限删除文件删除不了
- MWC(Multiwii Copter) 飞行模式介绍
- 【Tomcat】使用Eclipse运行Tomcat7源码
- Linux服务器集群负载均衡解说
- centos7安装kde后无法选择中文界面
- linux 目录结构详解