【Gradle】Android Studio中的Gradle入门

news/2024/5/20 1:39:21 标签: Gradle

文章目录

  • 基础知识
  • Android Plugin for Gradle
  • Gradle Wrapper
  • settings.gradle
  • build.gradle
  • Gradle 任务
  • AS中查看gradle版本

基础知识

Gradle 本身并不知道如何编译 APK 文件,因为 Gradle 实际上是一个通用的构建工具。它不限于构建 Android 应用程序。在 Gradle 的 GitHub 仓库中,它被描述为:

…构建工具,着重于构建自动化和支持多语言开发。如果您在任何平台上构建、测试、发布和部署软件,Gradle 提供了一个灵活的模型,可以支持从编译和打包代码到发布的整个开发生命周期

Gradle 本身实际上并不能做太多。所有有用的功能都来自丰富的插件生态系统。把你添加到 Android 应用程序中的所有第三方库视为插件。您可以使用这些插件来扩展应用程序的功能,就像 Gradle 使用插件来扩展自己的功能一样

Gradle_9">Android Plugin for Gradle

Android Plugin for Gradle 是一个使 Gradle 能够将您的代码编译成用你的密钥签名 APK 文件的插件,甚至将 APK 安装到你的模拟器或测试设备上。这个插件驱动你的整个构建系统

没有它,Gradle 就无法知道如何对代码做任何事情。这个插件是 Android Studio 和 Gradle 之间的魔法链。当你在 Android Studio 中启动一个全新的项目时,会获得带有“gradle”文件名的文件,所有带有“ gradle ”文字的文件都用于为我们的 Android 项目配置 Gradle 。里面存在多个文件,因为它们都有不同的用途

Gradle_Wrapper_14">Gradle Wrapper

gradle-wrapper.properties 文件有一个简单的目的:决定在构建项目时使用哪个 Gradle 版本。它将随后会自动为你下载并保存该版本的 Gradle

在这里插入图片描述

settings.gradle

如果你将另一个模块添加到你的工程中,Android Studio 将会自动将其添加到这个文件中
在这里插入图片描述

build.gradle

Gradle 的角度来看,我们的工程被认为是你拥有一个根项目以及一个到多个子工程。从 Android 开发者的角度来看,这些子工程被称为 module(模块)

这就是为什么你会看到两个build.gradle 文件的原因。一个是给根项目的,另一个是给伴随着你的项目的 app 模块的。让我们先看看你的根项目的格式吧

在这里插入图片描述
这个完整的buildscript{}块用于告知 Gradle 脚本本身,关于编译本项目需要的那些

我们告知 Gradle 我们需要到 google() Maven 代码库和 jcenter() 代码库中检索一些事项

我们在这个 buildscript中声明了 Android Gradle 插件的依赖性。“3.3.1” 表示要使用的插件版本

正如名字所暗示的,allprojects{} 块被用于通知 Gradle 关于所有需要编译的子项目,并使用这个代码库集合来解决所有需要的依赖项

下面我们看一下app 模块的build.gradle
在这里插入图片描述

这里就是你添加 Gradle 所依赖的第三方库的位置。注意在你的 app 的 build.gradle 中并没有 repositories{} 块。既然我们已经在根项目的 allprojects{} 块中声明了,这里就没有必要了

Gradle__42">Gradle 任务

任务基本上就是 Gradle 可以在构建触发时执行的事情。Android Studio 是不知道如何编译你的代码的。这是因为单击 Android Studio 中的大绿色播放按钮将触发 Gradle 执行特定任务

打开Gradle console,也就是如下图所示的位置
在这里插入图片描述
当我们点击AS的绿色运行按钮时, 一堆命令会出现,但我们只关心顶部的命令:

Executing tasks: [:app:assembleDebug]

我们刚刚告诉 Gradle 执行 assembleDebug 任务。 我们可以通过命令行完成同样的事情。 点击左下角的终端标签Terminal,运行这个命令:

gradlew assembleDebug

我们使用gradlew命令的时候,会根据gradle-wrapper.properties文件来使用对应的gradle进行构建,没有则会下载

assembleDebug 是你刚刚要求它运行的任务的名称

我们再来运行最后一个命令gradlew tasks
这个命令将列出 Gradle 目前在这个项目中所知道的所有任务,并提供每个任务的简短描述

其实和点击 Android Studio 右上角的 Gradle 标签是一样的效果
在这里插入图片描述在这里双击 assembleDebug ,就可以做到与刚刚在命令行上做的一样的事情,并且和播放按钮做同样的事情

AS中查看gradle版本

File-Project Structure
在这里插入图片描述


http://www.niftyadmin.cn/n/1817286.html

相关文章

旋转数组 - 轮转数组

旋转数组 - 轮转数组 - 力扣(LeetCode) (leetcode-cn.com) 目录 基本方法:开辟辅助数组 运行结果 代码 方案2:轮转替换 运行结果 代码 基本方法:开辟辅助数组 运行结果 代码 class Solution { public:void rota…

【Gradle】Android Studio中的Gradle配置详解

学习了Android Studio中的Gradle入门后相信你已经对AS中的gradle有一定了解。这篇文章对其中的一些配置具体说一下 文章目录Project的build.gradle文件repositories{}闭包:配置远程仓库dependencies{}闭包:配置构建工具Module的build.gradle文件apply pl…

配置Gradle环境变量

配置Gradle环境变量 1、新建环境变量GRADLE_HOME 2、路径填入gradle路径,例如我的是在 C:\Users\00lix\.gradle\wrapper\dists\gradle-5.1.1-all\97z1ksx6lirer3kbvdnh7jtjg\gradle-5.1.1gradle-5.1.1下的文件如下,必须包含bin等目录才正确 3、编辑环境…

【达内课程】UML简介和StartUML使用

文章目录UML简介StarUML下载使用StarUML代码生成时序图活动图状态图UML简介 UML(Unified Modeling Language)是一种统一建模语言,为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言 StarUML下载 下载StarUML 使用Star…

win10打开telnet

打开cmd,执行telnet即可

关于链接的一点碎碎念

# 《程序员的自我修养》读书笔记 Relocation:重定位,即重新计算各个目标地址的过程。 Symbol:符号,随着汇编语言的普及而产生,它用来表示一个地址,这个地址可能是一段子程序的起始地址,也可以…

静态语言和动态语言

动态语言(弱类型语言):运行时才确定数据类型,变量在使用之前无需声明类型。 静态语言(强类型语言):在编译时变量的数据类型就可以确定,大多数静态语言要求在使用变量前必须声明数据…

【达内课程】设计模式

文章目录单例模式解决问题解决方案普通程序改为单例模式工厂设计模式解决问题解决方案普通程序改为工厂设计模式观察者设计模式解决问题解决方案观察者设计模式程序装饰模式概念特点适用条件优点缺点代码中的应用举个栗子设计模式:对特定问题的解决方案单例模式 解…