android studio使用教程(四)Gradle简单介绍

首先说下Gradle的由来,我们知道eclipse的ADT插件使用的是ant构建工具,而studio开发集成是使用Gradle构建工具,那么什么是构建工具呢?其实就是我们在生成apk的过程,我们把项目run as的时候就需要gradle工具帮我们生成一个apk,在生成apk之前必须了解下android编译apk的过程;下面图是copy网上一个大神的博客,在这引荐下

android studio使用教程(四)Gradle简单介绍_第1张图片


在这些编译过程中使用到工具如图:

android studio使用教程(四)Gradle简单介绍_第2张图片

这些构建过程简单介绍:

第一步:打包资源文件,生成R.java文件

【输入】Resource文件(就是工程中res中的文件)、Assets文件(相当于另外一种资源,这种资源Android系统并不像对res中的文件那样优化它)、AndroidManifest.xml文件(包名就是从这里读取的,因为生成R.java文件需要包名)、Android基础类库(Android.jar文件)
【输出】打包好的资源(一般在Android工程的bin目录可以看到一个叫resources.ap_的文件就是它了)、R.java文件(在gen目录中,大家应该很熟悉了)
【工具】aapt工具,它的路径在${ANDROID_SDK_HOME}/platform-tools/aapt(如果你使用的是Windows系统,按惯例路径应该这样写:%ANDROID_SDK_HOME%\platform-tools\aapt.exe,下同)。

第二步:处理AIDL文件,生成对应的.java文件(当然,有很多工程没有用到AIDL,那这个过程就可以省了)
【输入】源码文件、aidl文件、framework.aidl文件
【输出】对应的.java文件
【工具】aidl工具

第三步:编译Java文件,生成对应的.class文件
【输入】源码文件(包括R.java和AIDL生成的.java文件)、库文件(.jar文件)
【输出】.class文件
【工具】javac工具

第四步:把.class文件转化成Davik VM支持的.dex文件
【输入】 .class文件(包括Aidl生成.class文件,R生成的.class文件,源文件生成的.class文件),库文件(.jar文件)
【输出】.dex文件
【工具】javac工具

第五步:打包生成未签名的.apk文件
【输入】打包后的资源文件、打包后类文件(.dex文件)、libs文件(包括.so文件,当然很多工程都没有这样的文件,如果你不使用C/C++开发的话)
【输出】未签名的.apk文件
【工具】apkbuilder工具

第六步:对未签名.apk文件进行签名
【输入】未签名的.apk文件
【输出】签名的.apk文件
【工具】jarsigner

第七步:对签名后的.apk文件进行对齐处理(不进行对齐处理是不能发布到Google Market的)
【输入】签名后的.apk文件
【输出】对齐后的.apk文件
【工具】zipalign工具

在这里Gradle就是一个构建工具,也是一门语言,在这我们只要知道他是干什么的,如果有兴趣有精力的话可以去学习下,

ant和gradle基于的语言不同如下:

ant                 gradle

xml                groovy

gradle是基于maven和ivy进行依赖管理的,简单理解可以把maven看成是一个云服务器,里面放了很多gradle构建工具使用到的jar,这样gradle在生成apk的过程中要使用的jar都是从maven中获取,这就要依赖maven了,这样maven就是一个仓库!


你可能感兴趣的:(android)