Gradle对我来说有点困惑,对任何新的Android开发人员来说也是如此。谁能解释一下Android Studio中的Gradle是什么,它的目的是什么?为什么Android Studio中包含它?
当前回答
Gradle和Android
Gradle是一个开源的构建自动化工具。Gradle支持Java和针对Android的Kotlin
source files -> build tools -> output file(.apk, .jar, .aar ...)
你可以使用更多的低级构建工具,如javac, DX, D8[About], aapt[About], sign tools…
Gradle是更高级的工具,它可以在引擎盖下完成所有这些工作。它还有以下优点:
依赖管理器(约) 在Groovy或Kotlin上使用领域特定语言(DSL)来公开当前设置或自定义/扩展构建过程。例如,您可以编写一些任务,并通过任何项目共享它们
[格拉德尔 vs 格拉德卢]
其他回答
Gradle是一种构建工具,用于构建程序的源代码。所以它是Android Studio的重要组成部分,需要在开始开发应用程序之前安装。
我们不需要单独安装它,因为当我们制作第一个项目时,Android Studio会帮我们安装。
Android Studio构建系统基于Gradle,并且Android Gradle插件添加了几个特定于构建Android应用程序的特性。虽然Android插件通常是与Android Studio同步更新的,但插件(以及Gradle系统的其余部分)可以独立于Android Studio运行,并单独更新。
有关详情,请参阅:
gradle-plugin版本 gradle网站
Gradle是一个先进的构建系统,也是一个先进的构建工具包,允许通过插件创建自定义构建逻辑!
优点:
DSL——特定于领域的语言,基于Groovy DAG -有向无环图 增量构建 可扩展域模型 Gradle总是最新的 在任务执行之前,Gradle会对任务的输入和输出进行快照。 如果快照已经更改或不存在,Gradle将会更改 重新执行此任务。
清单条目
通过DSL可以配置以下内容 清单条目:
构建变体
默认情况下,Android插件会自动将项目设置为 构建应用程序的调试版本和发布版本。
依赖关系
本地相关性:
如果您的本地文件系统中有二进制档案,则该模块 依赖的,例如JAR文件,您可以在 该模块的构建文件。
远程的依赖关系:
首先必须将存储库添加到列表中,然后 依赖关系必须以Maven或Ivy声明其依赖关系的方式声明 工件。
简单的回答是,
Gradle是一个构建系统,它负责代码的编译、测试、部署和转换。Dex文件,从而在设备上运行应用程序。由于Android Studio预装了Gradle系统,因此不需要安装额外的运行时软件来构建我们的项目。
简单来说,Gradle是Android Studio为了实现两个重要过程而提供的工具:
构建我们的项目 将AndroidManifest.xml、res文件夹和二进制代码打包到一个名为APK的特殊格式压缩文件中
推荐文章
- 警告:API ' variable . getjavacompile()'已过时,已被' variable . getjavacompileprovider()'取代
- ionic 2 - Error在Android Studio中找不到Gradle的安装版本
- 安装APK时出现错误
- Jersey在未找到InjectionManagerFactory时停止工作
- 如何生成字符串类型的buildConfigField
- 在Android Studio中创建aar文件
- Gradle代理配置
- 为什么构建类型与产品风味不同?
- 调试在哪里。Android Studio中的密钥存储库
- 错误:在Android SDK中找不到gradle包装器。可能需要更新你的Android SDK - Android
- Android Studio, logcat在应用程序关闭后清理
- Gradle替代mvn安装
- 有Grunt生成index.html不同的设置
- Android Studio中的。iml文件是什么?
- 为什么要把Gradle Wrapper提交给VCS?