Gradle对我来说有点困惑,对任何新的Android开发人员来说也是如此。谁能解释一下Android Studio中的Gradle是什么,它的目的是什么?为什么Android Studio中包含它?
当前回答
Gradle是一个自动化的构建工具包,可以集成到许多不同的环境中,不仅仅是Android项目。
下面是你可以用Gradle做的一些事情。
新建项目所需的最小配置,因为Gradle有Android Studio项目的默认配置。 依赖声明。您可以声明托管在本地或远程服务器上的依赖JAR文件或库文件。 Gradle自动从项目的源代码生成一个测试目录和一个测试APK文件。 如果您添加了所有必要的信息,如keyPassword和keyAlias,到您的Gradle构建文件中,您可以使用Gradle生成签名APK文件。 Gradle可以用不同的包生成多个APK文件,并从单个模块构建配置。
其他回答
简单来说,Gradle是Android Studio为了实现两个重要过程而提供的工具:
构建我们的项目 将AndroidManifest.xml、res文件夹和二进制代码打包到一个名为APK的特殊格式压缩文件中
格拉德尔 = 时髦 + 摇篮
参考:Hans Dockter论坛评论
当它在Android Studio中被称为“Build”时,这种混淆是不必要的。
在开发社区中,我们喜欢给自己制造麻烦。
作者@Brian Gardner:
Gradle是一个用于编程项目的广泛的构建工具和依赖管理器。它有一种基于Groovy的领域特定语言。Gradle还为多种类型的项目提供了基于约定的构建支持,包括Java、Android和Scala。
Gradle的特点:
依赖关系管理 从Gradle中使用Ant Gradle插件 Java插件 Android插件 多项目构建
Gradle是一个自定义的构建工具,用于构建APK文件。它也被称为应用程序包工具包。
我将以尽可能简单的方式用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这样的内置工具的其他用途是
测试源代码很容易 打包您的应用程序的格式,以便它可以 发布和部署很容易
推荐文章
- 警告: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?