[TOC]
gradle
1.gradle是一种自动构建化语言,目前是android的默认构建工具,是一个编程框架
RenderScript 是 C++的代码,
通过 打包 资源文件,NDK java/kotlin xml RenderScript
gradle是groovy语言来实现的. 坚持把简单事情弄好
./gradlew assembleDebug
把问题的思路,写下来,然后再问问题,把想法说清楚,问问题要讲究技巧.先问一下,别人有没有空.
| 语言 | groovy |
|---|---|
| 语言 | groovy,先将其编译成java类的字节码,然后通过jvm来执行这个java类 |
| 支持的环境 | androidstudio和命令行,命令行方便调试 |
| 构建粒度 | 支持多个project和多个版本,多个构建类型 |
| 可扩展性 | 有丰富的api和插件框架 |
| 其他构建工具 | ant,maven |
开发 打包 上传 测试 发布
理解 -> 解决 -> 应用 -> 分享
哪个工具在哪里有很多star ,分享 可以获取很多 star
Warpper 工具包, gradlew -> gradle warpper 的缩写 ;是gradle的一个工具包
./gradlew assembleDebug
gradlew.bat 是批处理文件 gradlew是给liunx上面使用的
在home目录下, 有个 .gradle,
cd gradle open . 可以打开一个行的目录,
gradle版本里面的api不兼容,所以gradle通过gradlewrapper去解决了这个问题
gradle的配置参数
- gradle warpper 是什么,
closure groovy的闭包,
groovy的闭包(closure)
groovy的闭包
Buildscript({}) 就是一个函数调用,传入了一段代码,就是闭包的一段代码
./gradlew assembelDebug
BuildScript 配置需要哪些插件,以及这些插件在哪个仓库下载
gradle dsl
仓库,就是存储jar包的地方,放aar的地方
settings.gradle 是一开始执行的文件, 多维度打包,多渠道打包
1 | if(isGrade) { |
自己去开发gradle 插件,
complitionName
compile 在android studio 3.0抛弃掉了
compile = 现在的 api
implementation 表示只给自己用,别人不需要, 可以一定程度提高编译速度
gradle = class
api = public
implementation = private
gradle打包慢
1 | https://maven.aliyun.com/nexus/content/groups/public/ |
gradle打包的终结解决方案
init
加入了个钩子 hook
buildersrc目录下面放gradle插件
通过extention来建立桥梁
def
assert 语句
括号是可选的
单引号,就是普通的字符串
“” 可以用${version} 变量
project上面有个方法叫 apply