AndroidStudio Gradle 和 Gradle plugin的区别
作为Android开发工程师,AndroidStudio就是开发利器,而安卓App的日常开发离不开 Gradle 和 Gradle plugin这个东西,很多安卓工程师对这两个东西的了解并不太深入,只是知道它是怎么配置的就可以了,所以今天我们主要来讲下这两个东西的区别。GradleGradle是一个基于JVM的构建工具,基于Groovy的特定领域语言来声明项目设置,所以它和安卓是没有半毛钱关系的,它是独立的,主要应用于java工程。在AndroidStudio 中它的位置在gradle-wrapper.properties中的distributionUrl=https/://services.gradle.org/distributions/gradle-2.10-all.zip构建(build)其实说到构建,我先说Eclipse,但凡学习过Java SE 入门的,基本都用过Eclipse,第一节课就是新建一个Hello Word 工程,然后点击绿色的三角标志运行,最后日子打印在了console 控制台上。那么这个点击下这个三角标志运行的操作其背后就有构建的过程,这个构建工具叫JDT,是Eclipse 自带的插件,JDT 必须依赖JDK,实际上是JDT 调用了 jdk 中的 javac 完成了我们代码的编译,是JDT 在背后组织代码,说到这里大家应该对构建有了基本的了解。Ant和MavenAnt的作用:是一种基于Java的build工具,就是构建工具。能够用ant编译java类。生成class文件ant能够自己定义标签、配置文件,用于构建。ant能够把相关层构建成jar包 。ant把整个项目生成web包。并公布到Tomcat
maven 是java Web 开发主流的构建工具,它除了具备Ant 的功能外,它重在于项目管理上,体现在模块的依赖上,比如Eclipse 和 Ant 中某一Jar文件要更换,那么就只能更换原jar文件了,麻烦,而maven 只要修改pom.xml 中jar的版本号就可以解决这个问题,灵活,所以不管是JDT 还是Ant,都没有管理功能。GradleGradle 和Ant,Maven 一样都是构建工具,但Ant 和Maven都是基于XML的配置,而是用其独特的写法。
Gradle Plugin好了说完Gralde 就要说Gradle Plugin,我们在AS中用到的Gradle其实应该被叫做Android Plugin for Gradle, 在工程的build.gradle中:classpath 'com.android.tools.build:gradle:2.1.2'它的作用是干什么呢?它是一个桥梁,一边调用 Gradle本身的代码和批处理工具来构建项目,一边调用Android SDK的编译、打包功能,所以Gradle Plugin的版本和Android SDk的版本就有关系了。最早Android的开发是在Eclipse 中进行的,那时可不是用Gradle,而是用ADT,谷歌在Eclipse平台提供的一套构建工具,需要在Eclipse中关联下载,正是因为有了 ADT ,我们才可以在 Eclipse 上进行编译、运行、签名、打包等一系列流程。因为Gradle版本的更新,那么插件版本也就要随之更新,所以安卓开发的Gradle 和 Gradle Plugin 是有对应关系的。插件版本Gradle版本1.0.0 - 1.1.32.2.1 - 2.31.2.0 - 1.3.12.2.1 - 2.91.5.02.2.1 - 2.132.0.0 - 2.1.22.10 - 2.132.1.3 - 2.2.32.14.1+2.3.0+3.3+3.0.0+4.1+3.1.0+4.4+