一. 前言
1. Gradle是什么?
Gradle是一个基于 Apache Ant 和 Apache Maven 概念的项目自动化构建工具。它使用一种基于 Groovy 的特定领域语言来声明项目设置,而不是传统的XML。当前其支持的语言限于 Java,Groovy 和 Scale,计划未来将支持更多的语言。
2. Gradle 的重要性
Coding 只是软件开发的一部分
- 编译源代码
- 运行单元测试和集成测试
- 执行静态代码分析
- 生成分析报告
- 创建发布版本
- 部署到目标环境
- 部署传递过程
- 执行冒烟测试和自动功能测试
二. 文件解析
1. 项目-gradle-gradle-wrapper.properties
文件
声明了gradle的目录与下载路径以及当前项目使用的gradle版本。默认的路径我们一般不会更改。
2. Gradle同步的文件存储的路径
3. 项目-settings.gradle
文件
声明当前项目中含有什么module。如果有多个module会以‘,’分开,如:include ':app',':app2'
。
4. 项目-build.gradle
文件
- 项目的编译环境配置,可以说是Gradle最主要的配置文件。
- 这里是对Project的配置,是最顶层的配置,在module中同样有一个build.gradle文件,是对module的配置,如果module里没有进行配置,将使用这里的配置信息。
- 一个是声明仓库的源,这里可以看到是指明的jcenter(), jcenter可以理解成是一个新的中央远程仓库,兼容maven中心仓库,而且性能更优。另一个是声明了android gradle plugin的版本。
- 我们可以将仓库的源换成以后公司中的仓库源。
5. 项目-Module-build.gradle
文件
- Module的gradle配置文件,也可以算是整个项目最主要的gradle配置文件。
- apply plugin:gradle版本的写法,声明这是一个Android程序。
- compileSdkVersion:编译Android的SDK版本。
- minSdkVersion:允许运行的最低版本。
- targetSdkVersion:运行的目标版本。
- buildToolsVersion:编译工具的版本。
- applicationId:这里可以很方便的修改打包之后的包名。
- versionCode:apk的版本。
- versionName:apk显示的版本。
- dependencies:添加依赖。
6. 添加三种依赖
- Library Dependency:添加静态库依赖。
- Jar Dependency:添加Jar包依赖。
- Module Dependency:添加模块依赖。
三. Gradle命令
1. 首先需要配置一下Gradle
参考:Mac下AndroidStudio中手动配置Gradle
2. Gradle的命令
- gradle –help
- radle – version
- gradle –build
- gradle –clean
- gradle –tasks
- gradle tasks –all
四. 其他
1. 缩写
2. Test
3. Lint支持
4. 合并规则
- 多个文件夹中的所有的源代码(
src/*/java
)都会合并起来生成一个输出。 - 所有的Manifest文件都会合并成一个Manifest文件。