构建工具(五):Android项目中的Gradle文件

2018-12-05  本文已影响29人  亦猿非猿

一开始先进行Gradle和Maven的对比,然后,对Gradle,Gradle Wrapper,Android Plugin for Gradle的一些概念进行区分,最后通过分析Android项目中的各个Gradle文件。

Gradle文件介绍

主角Gradle终于上场了,在Google发布的Android Studio开发工具中,Gradle替换Eclipse锁使用的ant作为默认的Android构建工具,其吸纳了ant和Maven的优点。现在ant几乎销声匿迹,Maven也日薄西山,而Gradle的发展却如日中天。感觉大多数场景,Gradle替换Maven的趋势,指日可待了。

Gradle与Maven对比

那为啥前面还要花了几章简述Maven?

Maven和Gradl直观上最大的区别,就是依赖管理的写法,由于Gradle本身是基于Groovy脚本语音进行构建的,并通过DSL进行描述和控制构建逻辑,书写起来更加自由。抛弃了Maven的xml格式的繁琐写法。

<?xml version="1.0" encoding="UTF-8"?>
<dependencies>
    <dependency>
      <groupId>com.android.support</groupId>
      <artifactId>appcompat-v7</artifactId>
      <version>26.1.0</version>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
dependencies {
  compile 'com.android.support:appcompat-v7:26.+'
  testCompile 'junit:junit:4.11'
}

Gradle比Maven不仅仅只是语法上的改变,还有

详细区别,可以参考最后的参考资料

Android项目中的Gradle文件

Gradle,Gradle Wrapper,Android Plugin for Gradle区别

在对Android Studio项目中关于gradle文件的介绍之前,先对几个概念进行介绍,在开发中,经常会遇到,尤其是更新Android Studio的时候。

Gradle

与Maven一样,是项目管理工具,上几篇文章对其与Maven都做了简单介绍。

Gradle Wrapper

翻译过来名称是Gradle的包装,其实就是对Gradle进行封装,简化了Gradle本身的安装,部署。不同的开发者,不同的项目,有可能会采用不同版本的Gradle,如果每次切换一个项目,都要手动部署一下对应版本的Gradle,这种麻烦的事肯定不适合程序员,于是就通过Gradle Wrapper实现,就算本地原来没有安装部署Gradle的环境,也可以直接使用。

查看Gradle版本

在项目路径下,通过./gradlew -v可以查看当前项目的Gradle版本,取决于gradle-wrpper.properties中的值。

➜  StudyTest ./gradlew -v
------------------------------------------------------------
Gradle 4.1
------------------------------------------------------------
Build time:   2017-08-07 14:38:48 UTC
Revision:     941559e020f6c357ebb08d5c67acdb858a3defc2

Groovy:       2.4.11
Ant:          Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM:          1.8.0_112 (Oracle Corporation 25.112-b16)
OS:           Mac OS X 10.13.3 x86_64
Android Plugin for Gradle

Android项目针对Gradle的插件,通过它就可以在Android项目中使用Gradle了。Android官方也对其进行了说明

The Android Studio build system is based on Gradle, and the Android plugin for Gradle adds several features that are specific to building Android apps. Although the Android plugin is typically updated in lock-step with Android Studio, the plugin (and the rest of the Gradle system) can run independent of Android Studio and be updated separately.

大体的意思就是:Android Plugin for Gradle插件添加了构建Android项目的几项功能,虽然其通常与Anroid Studio锁定更新,但是可以独立于Android Studio运行并且单独更新。

Gradle插件版本与Gradle版本

Android Plugin for Gradle版本,Android Studio版本与Gradle版本是有联系的。如果你升级了Android Studio的时候,有可能会收到提示对其进行更新。尽量升级到最新版本,性能更好。目前Plugin和Gradle的版本搭配如下,可以通过Android官网Gradle Plugin介绍进行查询

上一篇下一篇

猜你喜欢

热点阅读