定义
Gradle是基于JVM的新一代 构建工具
使用场景
开发软件时,用IDE去进行编码,当编码完成后,必须要进行编译,单元测试,打包等。这些需要开发人员手动实现。当版本迭代时,十分耗时且易出问题。这是项目自动化就出现了。
优势
1.节省时间及手动出现的错误
2.可编译,测试,打包等有序工作
3.与IDE和操作系统没有直接关系,具有平台无关性
ADT,ANT,Gradle
ADT : android 开发工具包,集成在eclipse中后,可以为Android提供开发环境,在Eclipse和SDK中起桥梁作用,Android Studio取代了ADT
ANT: Apache的项目管理工具,最早的构建工具。基于IDEA,是java的构建工具(使用XML脚本),构建Tomcat
Gradle: 使用groovy作为build脚本,比xml易读易用
APK构建(没有使用构建工具之前)
Dex是很多.class文件处理后的产物,可以在Android环境下运行
- 打包res资源文件(mainfest.xml和xml布局等),并将xml编译为二进制,其中assets和raw不会被编译成二进制,最终生成R.java和resource.arsc文件
- AIDL工具将AIDL接口转换为对应的java接口
- 所有java文件(包含R.java)会被编译成.class文件
- Dex工具将.class文件编译出.dex文件
- .dex文件,编译过的资源文件,无需编译的资源(eg:图片)会被APK Builder工具打包成apk文件
- 通过keystore签名
- 使用zipalign工具做对齐操作,减少内存开销
Gradle集成内容
- Ant:可添加第三方库
- Gant:Groovy的DSL,eg: dependencies{ 第三方框架 }
- Maven:依赖管理,一旦第三方框架下载完成,就会存储在本地缓存,就可以使用了
- Gradle Wrapper:版本兼容处理
如何引入Gradle
- 引入android gradle插件版本,项目的build.gradle,
dependencies {
classpath 'com.android.tools.build:gradle:2.2.1'
}
- gradle文件夹里面的gradle-wrapper.properties
distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip