Gradle:依赖jar&项目...
AndroidStudio中依赖在AS版本3.0之前和之后是不一样的,这里我们只涉及3.0之后的依赖方式.想要了解二者的区别请去官网文档,网址已在文章的末尾贴出.
Gradle build.gradle配置
每个构建脚本build.gradle都有一个默认的Project的实例,脚本中所有的操作都在project实例的作用域
项目信息
项目信息指项目的坐标
//group version为project的方法
//项目名称name在settings.gradle中
group 'com.kepus'
version '1.0-SNAPSHOT'
插件
插件带有任务/task,比如:war插件有war任务,war任务又依赖的compileJava, processResouces, classes任务
//apply为project的方法
apply plugin: 'java' //java插件
apply plugin: 'war' //war插件
JDK版本
//sourceCompatibility 为project实例的属性
sourceCompatibility = 1.8
仓库地址
按照配置顺序依次取
gradle 仓库地址介绍:https://blog.csdn.net/x_iya/article/details/75040806
//repositories是project一个方法,闭包作为参数
repositories {
//本地仓库,地址是:D:/application/without/apache-maven-3.3.9/repo
mavenLocal()
//应该是maven私服,此处设置为ali的,地址是url
maven{
url "http://maven.aliyun.com/nexus/content/groups/public"
}
//远程仓库,地址是https://repo1.maven.org/maven2
mavenCentral()
}
依赖配置:
业务代码:编译/compile和运行runtime 2个阶段
测试代码:编译/compile和运行runtime 2个阶段
compile依赖的runtime一定依赖, runtime依赖的compile不一定依赖
业务代码依赖测试代码一定依赖,测试代码依赖的业务代码不一定依赖
//repositories是project一个方法,闭包作为参数
repositories {
//本地仓库,地址是:D:/application/without/apache-maven-3.3.9/repo
mavenLocal()
//应该是maven私服,此处设置为ali的,地址是url
maven{
url "http://maven.aliyun.com/nexus/content/groups/public"
}
//远程仓库,地址是https://repo1.maven.org/maven2
mavenCentral()
}
多项目构建
settings.gradle作用就是用于多项目构建
多项目构成:allProjects = root项目+各子项目
构建补充
每个构建(build.gradle)至少一个项目,每个项目一个或多个任务
项目/Project
一个项目代表一个组件(jar/war包),构建启动后Gradle会根据build.gradle实例化一个org.gradle.api.Project类
project属性
- group/name(artifact)/version
- 属性的其他设置方法:ext或者直接在gradle.properties里面读取(一定是此名称)
project方法
- apply 应用插件
- dependencies 添加依赖
- repositories 添加仓库
- task 定义任务
任务/Task
- 任务是最小的工作单元,每个任务由动作和任务依赖组成,对应类 org.gradle.api.Task
- Task方法
- dependsOn 添加依赖
- doFirst/doLast 定义动作 (任务可以看做一个动作列表)
生命周期
- 初始化: 根据 build.gradle生成project
- 配置: 生成task的依赖顺序和执行顺序 注意划分配置代码和执行代码
- 执行: 执行task的动作代码
Android Google官方的说明文档
https://developer.android.google.cn/studio/build/gradle-plugin-3-0-0-migration.html
by .k
关注"编程v",每一天涨一点
STAY HUNGRY & STAY FOOLISH
上一篇: Maven依赖总结(最终版)
下一篇: support 依赖的冲突的解决思路