Gradle对我来说有点困惑,对任何新的Android开发人员来说也是如此。谁能解释一下Android Studio中的Gradle是什么,它的目的是什么?为什么Android Studio中包含它?
当前回答
简单来说,Gradle是Android Studio为了实现两个重要过程而提供的工具:
构建我们的项目 将AndroidManifest.xml、res文件夹和二进制代码打包到一个名为APK的特殊格式压缩文件中
其他回答
https://www.slideshare.net/AshifShaikh3/graddle
Gradle帮助我们管理Android的生态系统,比如库、代码版本、版本名和应用id。为了找到一个应用,Gradle添加了依赖项。远程基地,2。当地的基地。
Android Studio构建系统基于Gradle,并且Android Gradle插件添加了几个特定于构建Android应用程序的特性。虽然Android插件通常是与Android Studio同步更新的,但插件(以及Gradle系统的其余部分)可以独立于Android Studio运行,并单独更新。
有关详情,请参阅:
gradle-plugin版本 gradle网站
Gradle是一种构建工具,用于构建程序的源代码。所以它是Android Studio的重要组成部分,需要在开始开发应用程序之前安装。
我们不需要单独安装它,因为当我们制作第一个项目时,Android Studio会帮我们安装。
Gradle是一个易于定制的构建系统,支持按照约定模型进行构建。Gradle是用Java编写的,但是构建语言是Groovy DSL(域规范语言)。Gradle不仅支持多项目构建,还支持Ivy和Maven等依赖项。Gradle也可以支持构建非java项目。
https://medium.com/@ravirajdesai501/what-is-gradle-442458dd7ec1
我将以尽可能简单的方式用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这样的内置工具的其他用途是
测试源代码很容易 打包您的应用程序的格式,以便它可以 发布和部署很容易
推荐文章
- 错误:在Android SDK中找不到gradle包装器。可能需要更新你的Android SDK - Android
- Android Studio, logcat在应用程序关闭后清理
- Gradle替代mvn安装
- 有Grunt生成index.html不同的设置
- 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工具