Android Gradle - Gradle、Gradle plugin 基础认知

起由 :因为开发中build项目失败,提示了Gradle相关问题 ;所以在好奇心的驱使之下,抽时间好好梳理了一下Gradle方面的知识 - -~

Gradle 相关

Gradle Version(Gradle版本) 、Android Gradle plugin Version(Gradle 插件版本)俩者概念别混淆,请往下看 ~

基础了解

首先要了解 GradleGradle plugin 并不是一回事儿,它们的 作用各不相同,而是相辅相成~

如果 Gradle 与 Android Plugin for Gradle 俩者的版本不对应,会导致项目build失败!!!

Gradle、Android Plugin for Gradle

Gradle依赖中gradle.wrapper.properties的一行设置,有俩种写法:

  • distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip
  • distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip

binallzip有何区别?

  • bin是编译后的二进制发布版
  • all还包含了源码和文档,比 bin大了几十兆,两者其余没有区别
Gradle

相对官方

Gradle 是一个基于 Apache AntApache Maven 概念的项目自动化建构工具。它使用一种基于 Groovy 的特定领域语言(DSL)来声明项目设置,抛弃了基于 XML 的各种繁琐配置。

大白话

简单来说,Gradle 是一种项目构建工具,它可以帮你管理项目中的差异、依赖、编译、打包、部署 ......,你可以定义满足自己需要的构建逻辑,写入到 build.gradle 中供日后复用。

Android Plugin for Gradle

Gradle 是一个构建工具,但它需要特定的插件来工作。Android Plugin for Gradle 即是 GradleAndroid 插件。

Android Studio 构建系统基于 GradleGradleAndroid 插件 添加了特定于构建 Android 应用程序的几项功能。虽然 Android 插件通常以 Android Studio 的锁定步骤更新,但插件(以及其余的 Gradle 系统)可以独立于 Android Studio 运行,并单独更新

对应关系

Gradle是一个独立运行的程序,不但可以与AndroidStudio协同工作还可以和EclipseIDE配合使用。 但由于Gradle发展速度比较快,导致Gradle版本不一,故每个 Android 插件版本Android Plugin for Gradle)需要与特定的 Gradle 版本相匹配才能编译成功。为了获得最佳性能,应该使用最新版本的 GradleAndroid 插件。

关于对应的版本对应关系,可以参考 Android官方开发文档,如果需要下载Gradle最新版本,可以通过 Gradle下载地址 进行下载

插件、Gradle(早期)

在这里插入图片描述

插件、Gradle

2022/10/27:更新7.3
2022/03/14:更新7.0-7.2
2021/06/23:更新4.2.0+
2020/11/11:更新3.5.0-4.1.0+
2019/09/02:初次更新

插件版本所需的最低 Gradle 版本
8.08.0
7.47.5
7.37.4
7.27.3.3
7.17.2
7.07.0
4.2.0+6.7.1
AndroidStudio、插件
Android Studio 版本所需插件版本
Flamingo - 2022.2.13.2-8.0
Electric Eel - 2022.1.13.2-7.4
Dolphin - 2021.3.13.2-7.3
Chipmunk - 2021.2.13.2-7.2
Bumblebee - 2021.1.13.2-7.1
Arctic Fox - 2020.3.13.1-7.0

Gradle、Gradle plugin 版本查看方式

集中查看

  • File - Project Structure - Project 查看 Gradle 版本信息
    在这里插入图片描述
  • Gradle 版本图
    在这里插入图片描述

分别查看

  • 查看Gradle版本
    在这里插入图片描述
  • 查看 Android plugin Version 版本
    在这里插入图片描述

Gradle、Android Gradle plugin Version俩种形态的解决方式

静态设置

目前仅有Gradle设置方式

  • 设置加载本地的Gradle
    在这里插入图片描述
  • 查看Gradle在本机的存储位置

找到 gradle\caches 空间(一般位于C盘的用户目录下,如果找不到请在文件右上角直接搜索;)

建议:删除不用的gradle版本 !以此在保证caches控件有足够的存储空间 > <~

在这里插入图片描述

动态设置

包含Gradle与Android Gradle plugin Version

修改对应Project的build.gradle中的com.android.tools.build:gradle:版本号为提示版本

如修改 classpath 'com.android.tools.build:gradle:3.1.1'classpath 'com.android.tools.build:gradle:3.2.1'

Android Plugin for Gradle 的最新版本(不过个人感觉好像此资源网站很久没有更新了~)

在这里插入图片描述

修改gradle-wrapper.propertiesdistributionUrl上的版本号与当前Gradle版本号一致

如修改distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zipdistributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip;

如果自动下载失败,可以尝试通过此处下载,然后进行本地关联 ~ ~

在这里插入图片描述

趣味场景 ~

部分开发者会在动态设置的时候,尝试直接以 + 来进行依赖,如:

直接将 classpath 'com.android.tools.build:gradle:2.3.0-beta1
改为 classpath 'com.android.tools.build:gradle:2.3.0+ 解决

但是有的人表示 :不应该在版本号中使用动态依赖关系,例如 'com.android.tools.build:gradle:2.+';
主要因为新版本在稳定性、差异性、兼容性方面可能有所欠缺,使用此功能可能导致意外的版本更新和难以解决的版本差异。(后半句话总感觉说不出的绕口)

借鉴文章

  • 5
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

远方那座山

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值