Android:Gradle,Gradle与Android Studio

本文介绍了Gradle作为Android开发中的构建工具的作用及其组成部分,包括GradleWrapper的概念及Gradle配置文件的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

我们用Android Studio创建项目和发布项目时,都会用到Gradle。那么Gradle到底是什么?

我们需要了解的概念有:构建工具,gradle wrapper,gradle

一,构建工具?

Eclipse时期:Eclipse是一种 IDE(集成开发环境),为了开发Android应用,Google开发了 ADT(Android Developer Tools); ADT 完成在 Eclipse 上进行的编译、运行、签名、打包等一系列流程,某种意义上 ADT 就是我们的构建工具。

Android Studio时期:默认使用 Gradle 来作为构建工具,除了编译、运行、签名、打包等,还具备依赖管理的功能。比如每次第三方库有更新,需下载新jar,替换掉原来的;这种方式只有依赖,而没有管理。而Gradle只需要:

api 'com.jakewharton:butterknife:8.8.1'

传统的构建工具有 Make、Ant、Maven、Ivy等,而 Gradle 是新一代的自动化构建工具。

二,Gradle,Gradle和AS关系

Gradle 是新一代的自动化构建工具,它是一个独立的项目,跟 AS、Android 无关,官方网站:[https://gradle.org/]。

Gradle 采用的是一种叫做 Groovy 的语言。

为了支持 Gradle 能在 AS 上使用,Google 做了个 AS 的插件叫 Android Gradle Plugin ,所以我们能在 AS 上使用 Gradle 完全是因为这个插件的原因。在项目的根目录有个 build.gradle 文件,里面有这么一句代码:

buildscript {
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.3'
    }
}

后面的版本号 android gradle plugin 的版本,而不是 Gradle 的版本,这个是 Google 定的,跟 Gradle 官方没关系;

列举了 android gradle plugin 每个版本的具体变化与具体功能:[http://tools.android.com/tech-docs/new-build-system]

三,Gradle Wrapper?

现在默认新建一个项目,然后点击 AS 上的运行,默认就会直接帮你安装 Gradle ,我们不需要额外的安装 Gradle 了,但是其实这个 Gradle 不是真正的 Gradle ,他叫 Gradle Wrapper ,意为 Gradle 的包装,假设我们本地有多个项目,一个是比较老的项目,还用着 Gradle 1.0 的版本,一个是比较新的项目用了 Gradle 2.0 的版本,但是你两个项目肯定都想要同时运行的,如果你只装了 Gradle 1.0 的话那肯定不行,所以为了解决这个问题,Google 推出了 Gradle Wrapper 的概念,就是他在你每个项目都配置了一个指定版本的 Gradle 。

AS 带的终端上切换到所在项目的目录,然后输入 ./gradlew -v (win用户直接输入 gradlew -v) ,即可以查看当前项目所用的 gradle 的版本,gradlew 即为 gradle wrapper 的缩写。

四,Android 项目包含的 Gradle 配置文件?


– MyApplicationTest/app/build.gradle

这个文件是 app 文件夹下这个 Module 的 gradle 配置文件,也可以算是整个项目最主要的 gradle 配置文件,具体配置见下期;

MyApplicationTest/extras/abarcode/build.gradle

每一个 Module 都需要有一个 gradle 配置文件,语法都是一样,唯一不同的是开头声明的是:

apply plugin: 'com.android.library'

MyApplicationTest/gradle

这个目录下有个 wrapper 文件夹,里面可以看到有两个文件,我们主要看下 gradle-wrapper.properties 这个文件的内容:


可以看到里面声明了 gradle 的目录与下载路径以及当前项目使用的 gradle 版本,这些默认的路径我们一般不会更改的,这个文件里指明的 gradle 版本不对也是很多导包不成功的原因之一。

MyApplicationTest/build.gradle

这个文件是整个项目的 gradle 基础配置文件,默认的内容就是声明了 android gradle plugin 的版本。

MyApplicationTest/settings.gradle

这个文件是全局的项目配置文件,里面主要声明一些需要加入 gradle 的 module:


文章内容主要是对 http://www.58maisui.com/2016/07/04/a-404/ 的简单梳理,方便自己记忆。

转载来自:http://www.58maisui.com/2016/07/04/a-404/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值