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 格拉德卢]
其他回答
这是谷歌想要用于Android的新构建工具。使用它是因为它比Ant更具可扩展性和实用性。它旨在增强开发人员的体验。
你可以在谷歌I/O这里查看Xavier Ducrohet来自Android开发团队的演讲。
在谷歌I/O期间,Xavier和Tor Norbye也有关于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 格拉德卢]
作者@Brian Gardner:
Gradle是一个用于编程项目的广泛的构建工具和依赖管理器。它有一种基于Groovy的领域特定语言。Gradle还为多种类型的项目提供了基于约定的构建支持,包括Java、Android和Scala。
Gradle的特点:
依赖关系管理 从Gradle中使用Ant Gradle插件 Java插件 Android插件 多项目构建
Gradle是一个构建系统。构建系统是设计用于自动化程序编译过程的软件工具。构建系统有各种形式,并用于各种软件构建任务。而他们的主要目标是有效地创建可执行文件。
另一个相关的术语是构建自动化,它是自动化创建软件构建的过程,以及相关的过程,包括:将计算机源代码编译成二进制代码,打包二进制代码,以及运行自动化测试。
其他语言的类似构建系统如下(见完整列表):
Apache Ant和Apache Maven - Java sbt -用于Scala (Play框架等) 基于python的构建工具 Rake (Apache Builder) - Ruby Leiningen for Clojure
在Android Studio中,Gradle是一个自定义构建工具,通过管理依赖关系和提供自定义构建逻辑来构建Android包(APK文件)。
APK文件(Android Application package)是一个特殊格式的ZIP文件,包含
字节码 资源(图像、UI、XML等) 清单文件
APK文件被签名并通过ADB (Android调试桥)推送到设备上执行。
推荐文章
- Android Studio中的。iml文件是什么?
- 为什么要把Gradle Wrapper提交给VCS?
- Android Studio无法找到有效的Jvm(与MAC OS相关)
- 在Android Studio中改变矢量资产的填充颜色
- 在构建中编写注释的语法是什么?gradle文件?
- 用Android Studio进行调试永远停留在“等待调试器”状态
- 它目前正在被另一个Gradle实例使用
- 多个dex文件定义了landoid /support/v4/accessibilityservice/AccessibilityServiceInfoCompat
- 没有找到与给定名称匹配的资源:attr 'android:keyboardNavigationCluster'。更新到支持库26.0.0时
- Gradle:无法确定java版本从11.0.2开始
- 错误:无法运行mksdcard SDK工具
- Android Studio的警告屏幕选项在哪里?
- 如何同步项目到GitHub与Android工作室?
- Gradle构建脚本依赖项
- 我怎么能修复“意外元素<查询>发现<manifest>”错误?