#1、简介
构建,通俗点来说就是通过一些编译过程,得到可执行或者可安装程序;那么对于android来说,就是把android的java/kotlin代码,资源,Manifest.xml文件、第三方库、android库等一起编译打包放入apk中;Android使用的gradle进行构建,并使用定制的android的插件(官网)
构建android项目的三个境界:
1、会使用android gradle插件
2、构建多个版本
3、写出最适合自己项目的插件
#2、gradle简单基础
gradle 是基于groovy实现的,一款非常优秀的构建系统工具;需要jdk 6以上的java环境,下载gradle包,配置bin环境变量(找到gradle执行脚本的路径放到path下即可)
##2.1语法
类似kotlin,但是更随意,下面介绍的也是一些区别,如果不会kotlin,那么就以java来看也是可以的
定义关键字: def
闭包:一段被花括号包含的代码
gradle的参数,基本是闭包,也就是省去()直接在{}内写入想操作内容, 比如: android { ..配置.. }
传入参数时:括号可以省略,参数之间可以用分隔符分开
是不是感觉很简陋啊,因为我只是在第一境界,你到官网上看吧
##2.2日志
println ‘日志’打印重要级别日志
logger.日志级别词(‘日志’) 打印某某级别日志
日志级别:debug < info < lifecycle < warning < quiet < error
logger.quiet == println
强制刷新依赖: ./gradlew --refresh-dependencies assemble
##2.3配置文件
其配置文件是gradle执行任务的,具体配置;每个项目都包括自己的build.gradle,根目录下配置也叫根项目配置文件,是通用配置;不过根目录的配置如下
2.3.1生成wrapper文件 项目构建,必须 生成 wrapper ,可以使用内建任务来生成: gradle wrapper, 在根目录下生成了一些指令信息,缓存等,wrapper相关内容在gradle\wrapper中
需要关注的配置是distributionUrl:gradle版本地址
2.3.2设置Settings.gradle文件 放在跟目录下,其中配置各个模块信息,比如模块名字,模块路径(不配置默认为同路径下,文件夹名字与模块名字一致)
2.3.3根build.gradle设置 设置通用设置,对于变动较小的内容进行配置;比如依赖插件,而不是写依赖第三方库
buildscript 构建脚本
allprojects 所有项目配置
task clean:定义了clean任务
repositories:代码仓库
ext.变量: 所有项目都可以使用的变量, 也可以这样用 ext { 变量= 变量值 。。。}
dependencies : 依赖,只不过是插件依赖;
2.3.3各个子项目build.gradle设置 这个差别就比较大了;比如android的代码配置
apply plugin:使用二进制插件,后面可以是插件id,插件包名+类名, 或者类名
android: android插件配置选项
dependencies:依赖