Gradle对我来说有点困惑,对任何新的Android开发人员来说也是如此。谁能解释一下Android Studio中的Gradle是什么,它的目的是什么?为什么Android Studio中包含它?


当前回答

我将以尽可能简单的方式用Java来解释它。

假设我们有一个简单的hello world项目(HelloWorld.java)。为了运行项目,我们需要编译它(HelloWorld.class)。然后我们将在JVM (java虚拟机)中运行它。

编译代码的过程可以使用自带javac.exe (Java编译器命令)的JDK (Java开发工具包)完成。它将Java源文件(. Java)编译为字节码类文件(.class)。

使用所有.java源文件的列表调用javac.exe。例如,对于单个源文件

javac HelloWorld.java

编译多个Java源文件

javac Program1.java Program2.java Program3.java

这并不是很有趣,因为一旦你开始做大项目,你可能会开始使用第三方提供的功能(jar文件)。例如 编译一个依赖于外部库的源文件:

javac -classpath mail.jar EmailSender.java

编译一个依赖于外部多个库的源文件:(其中Myprogram.java是依赖于多个库的源文件)

javac -cp lib1.jar;lib2.jar;lib3.jar MyProgram.java

请记住,有时源文件依赖于100和1000多个库,这使得手动编译成为一项真正的艰苦工作。为了解决这个问题,我们有构建工具,例如Gradle, Maven(使编译过程没有错误,并且可以轻松完成多次)

像Gradle这样的内置工具的其他用途是

测试源代码很容易 打包您的应用程序的格式,以便它可以 发布和部署很容易

其他回答

Gradle是一个自动化的构建工具包,可以集成到许多不同的环境中,不仅仅是Android项目。

下面是你可以用Gradle做的一些事情。

新建项目所需的最小配置,因为Gradle有Android Studio项目的默认配置。 依赖声明。您可以声明托管在本地或远程服务器上的依赖JAR文件或库文件。 Gradle自动从项目的源代码生成一个测试目录和一个测试APK文件。 如果您添加了所有必要的信息,如keyPassword和keyAlias,到您的Gradle构建文件中,您可以使用Gradle生成签名APK文件。 Gradle可以用不同的包生成多个APK文件,并从单个模块构建配置。

Gradle是一个高级的Android构建工具包,用于管理依赖关系,并允许您定义自定义构建逻辑。特征就像

自定义、配置和扩展构建过程。 使用同一个项目为应用程序创建多个具有不同功能的APK文件。 重用代码和资源。

参考

Gradle是一个易于定制的构建系统,支持按照约定模型进行构建。Gradle是用Java编写的,但是构建语言是Groovy DSL(域规范语言)。Gradle不仅支持多项目构建,还支持Ivy和Maven等依赖项。Gradle也可以支持构建非java项目。

https://medium.com/@ravirajdesai501/what-is-gradle-442458dd7ec1

格拉德尔 = 时髦 + 摇篮

参考:Hans Dockter论坛评论

当它在Android Studio中被称为“Build”时,这种混淆是不必要的。

在开发社区中,我们喜欢给自己制造麻烦。

Gradle就像一个make版本,它把功能放在可用性之前,这就是为什么你和433k读者甚至不知道它是一个构建系统。