Gradle对我来说有点困惑,对任何新的Android开发人员来说也是如此。谁能解释一下Android Studio中的Gradle是什么,它的目的是什么?为什么Android Studio中包含它?
当前回答
搜索结果
来自网络的特色片段
Android |构建。Gradle。
Gradle是一个构建系统(开源),用于自动化构建、测试、部署等. ...例如,将一些文件从一个目录复制到另一个目录的简单任务可以在实际构建过程发生之前由Gradle构建脚本执行。
其他回答
作者@Brian Gardner:
Gradle是一个用于编程项目的广泛的构建工具和依赖管理器。它有一种基于Groovy的领域特定语言。Gradle还为多种类型的项目提供了基于约定的构建支持,包括Java、Android和Scala。
Gradle的特点:
依赖关系管理 从Gradle中使用Ant Gradle插件 Java插件 Android插件 多项目构建
Gradle是一个先进的构建系统,也是一个先进的构建工具包,允许通过插件创建自定义构建逻辑!
优点:
DSL——特定于领域的语言,基于Groovy DAG -有向无环图 增量构建 可扩展域模型 Gradle总是最新的 在任务执行之前,Gradle会对任务的输入和输出进行快照。 如果快照已经更改或不存在,Gradle将会更改 重新执行此任务。
清单条目
通过DSL可以配置以下内容 清单条目:
构建变体
默认情况下,Android插件会自动将项目设置为 构建应用程序的调试版本和发布版本。
依赖关系
本地相关性:
如果您的本地文件系统中有二进制档案,则该模块 依赖的,例如JAR文件,您可以在 该模块的构建文件。
远程的依赖关系:
首先必须将存储库添加到列表中,然后 依赖关系必须以Maven或Ivy声明其依赖关系的方式声明 工件。
Gradle是一个自动化的构建工具包,可以集成到许多不同的环境中,不仅仅是Android项目。
下面是你可以用Gradle做的一些事情。
新建项目所需的最小配置,因为Gradle有Android Studio项目的默认配置。 依赖声明。您可以声明托管在本地或远程服务器上的依赖JAR文件或库文件。 Gradle自动从项目的源代码生成一个测试目录和一个测试APK文件。 如果您添加了所有必要的信息,如keyPassword和keyAlias,到您的Gradle构建文件中,您可以使用Gradle生成签名APK文件。 Gradle可以用不同的包生成多个APK文件,并从单个模块构建配置。
简单的回答是,
Gradle是一个构建系统,它负责代码的编译、测试、部署和转换。Dex文件,从而在设备上运行应用程序。由于Android Studio预装了Gradle系统,因此不需要安装额外的运行时软件来构建我们的项目。
你可以在这里找到你需要知道的关于Gradle的一切: Gradle插件用户指南
新构建系统的目标 新的构建系统的目标是: 使代码和资源易于重用 可以轻松地创建应用程序的多个变体,无论是多apk分发还是不同风格的应用程序 使构建过程易于配置、扩展和自定义 良好的IDE集成 为什么它呢? Gradle是一个高级构建系统,也是一个高级构建 允许通过插件创建自定义构建逻辑的工具包。 下面是一些让我们选择Gradle的特性: 领域特定语言(DSL)来描述和操作构建逻辑 构建文件是基于Groovy的,允许在DSL中混合声明性元素,并使用代码来操作DSL元素 提供自定义逻辑。 通过Maven和/或Ivy内置依赖管理。 非常灵活。允许使用最佳实践,但不强制使用自己的做事方式。 插件可以公开它们自己的DSL和API供构建文件使用。 良好的工具API,允许IDE集成
推荐文章
- 如何/何时生成Gradle包装文件?
- 在Android Studio的模拟器上截图
- 如何在Android工作室的外部库中添加一个jar ?
- 构建被配置为优先选择设置存储库而不是项目存储库,但存储库“maven”是由构建文件“Build .gradle”添加的。
- “需要Gradle 2.10版本。”错误
- adb.exe在windows 10中的位置?
- 处理EditText中可绘制对象上的单击事件
- 在Android Studio 4.2中,Gradle任务不会显示在Gradle工具窗口中
- Android Studio -没有可调试的应用程序
- Android Studio Gradle已经处理模块
- 如何使用自定义字体在一个项目写在Android工作室
- Android Studio错误:“Manifest合并失败:针对Android 12的应用程序”
- 签名版本之间的差异- V1 (Jar签名)和V2(完整的APK签名),而生成一个签名的APK在安卓工作室?
- 无法找到或加载主类org.gradle.wrapper.GradleWrapperMain
- 原因:buildOutput。apkData不能为空