1、什么是Gradle? {#1、什么是Gradle?}
- Gradle是一个构建系统、构建工具,用来编译Android APP,能够一站式的编译、打包。也就是把项目里的文件、文件夹按照一定的规则关联起来,形成一个项目的工具,它不单单用在AS上。在AS第一次启动时也会去自动下载Gradle。
- Gradle对应的是:
gradle/wrapper
里的distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip
- Gradle其实跟AS没有必然的关系,在Google推出Android5.0时,在AS中选择了Gradle作为构建工具,为了支持Gradle在AS上的使用,Google开发了一个插件:
Android Gradle Plugin
,所以我门能在AS上使用Gradle是因为这个插件的原因。大家在项目的根目录下有个build.gradle
,就能找到:classpath 'com.android.tools.build:gradle:4.0.2'
,这个就是依赖Gradle的代码,版本号代表的是插件的版本,不是Gradle的版本。
2、Gradle Wrapper {#2、Gradle-Wrapper}
本意为Gradle的包装,它的作用是简化Gradle本身的安装和部署。不同版本的项目可能需要不同版本的Gradle,手工部署比较麻烦,而且维护性比较差,所以需要Gradle Wrapper来帮你搞定。Gradle Wrapper是Gradle项目的一部分。
两个不同版本的项目,如果同时运行,本地如果只装了其他的一个版本的Gradle,那肯定就不能同时运行两个项目,为了解决这个问题,Google推出了Gradle Wrapper的概念,它在每个项目里都配置了指定的版本的Gradle,可以理解为每个项目在本地都有一个相对应版本的Gradle,通过这个就可以在不同的项目里使用不同的Gradle版本来构建项目。
3、Gradle插件 {#3、Gradle插件}
Gradle插件跟Android SDK BuildTool
有关,因为它还承担AS里的编译相关的功能,这也是我们为什么必须要在local.properties
里写明SDK
路径的原因。
Gradle插件独立于AS运行,所以它的更新也是与AS分开的,Gradle插件会有版本号,每一个版本号对应一个或者一些Gradle发行版本,如:gradle-5.4.1-all.zip
参考链接:https://www.jianshu.com/p/0746e554f373