Android studio版本对用的gradle版本和插件版本(注意事项)

news2024/11/15 17:53:45

简介

Android Studio 构建系统以 Gradle 为基础,并且 Android Gradle 插件添加了几项专用于构建 Android 应用的功能。虽然 Android 插件通常会与 Android Studio 的更新步调保持一致,但插件(以及 Gradle 系统的其余部分)可独立于 Android Studio 运行并单独更新。

插件版本和gradle版本对应

gradle插件版本gradle版本
1.0.0 - 1.1.32.2.1 - 2.3
1.2.0 - 1.3.12.2.1 - 2.9
1.5.02.2.1 - 2.13
2.0.0 - 2.1.22.10 - 2.13
2.1.3 - 2.2.32.14.1 - 3.5
2.3.0+3.3+
3.0.0+4.1+
3.1.0+4.4+
3.2.0 - 3.2.14.6+
3.3.0 - 3.3.34.10.1+
3.4.0 - 3.4.35.1.1+
3.5.0 - 3.5.45.4.1+
3.6.0 - 3.6.45.6.4+
4.0.0+6.1.1+
4.1.0+6.5+
4.2.0+6.7.1+
7.07.0+
7.17.2+
7.27.3.3+
7.47.3+
7.57.4+
8.08.0

Android Studio 对应的Gradle 插件版本

Android Studio 版本所需插件版本
As 2.2.22.0.0 - 2.2.3
As 3.63.0 - 6.7.1
Arctic Fox | 2020.3.13.1-7.0
Bumblebee | 2021.1.13.2-7.1
Chipmunk | 2021.2.13.2-7.2
Dolphin | 2021.3.13.2-7.3
Electric Eel | 2022.1.13.2-7.4
Flamingo | 2022.2.13.2-8.0

重要版本更新

版本编号变更(2020 年 11 月)

我们将更新 Android Gradle 插件 (AGP) 的版本号,以使其更接近底层 Gradle 构建工具。 重要变更如下:

  • AGP 现在将使用语义版本控制,并且重大变更将在主要版本中发布。

  • 每年将发布一个 AGP 主要版本,与 Gradle 主要版本保持一致。

  • AGP 4.2 之后的版本为版本 7.0,并且会要求升级到 Gradle 7.x 版。AGP 的每个主要版本都会要求在底层 Gradle 工具中进行主要版本升级。

  • API 的废弃将提前大约一年进行,同时提供替代功能。废弃的 API 将在大约一年后的下次重大更新期间移除。

Gradle 7.3.0(2022 年 9 月)

Android Gradle 插件 7.3.0 是一个主要版本,包含各种新功能和改进。

最低版本默认版本备注
Gradle7.47.4如需了解详情,请参阅更新 Gradle。
SDK Build Tools30.0.330.0.3安装或配置 SDK Build Tools。
NDK不适用23.1.7779620安装或配置其他版本的 NDK。
JDK1111如需了解详情,请参阅设置 JDK 版本。

7.0.0(2021 年 7 月)

最低版本默认版本备注
Gradle7.0.27.0.2如需了解详情,请参阅更新 Gradle。
SDK Build Tools30.0.230.0.2安装或配置 SDK Build Tools。
NDK不适用21.4.7075529安装或配置其他版本的 NDK。
JDK1111

如需了解详情,请参阅设置 JDK 版本。

需要 JDK 11 才能运行 AGP 7.0

Variant API 已稳定

针对库依赖项提高了 lint 性能

lint 任务现在可以显示为“UP-TO-DATE”

移除了 Android Gradle 插件构建缓存

不支持在 Java 资源文件夹中添加原生库

与 1.4.x Kotlin 多平台插件不兼容

Android Gradle 插件 7.0.0 与 Kotlin 多平台插件 1.5.0 及更高版本兼容。使用 Kotlin 多平台支持的项目需要更新到 Kotlin 1.5.0 才能使用 Android Gradle 插件 7.0.0。解决方法之一是,您可以将 Android Gradle 插件降级到 4.2.x,不过建议不要这样做。

移除了依赖项配置 

在 AGP 7.0 中,移除了以下配置(或依赖项范围):

  • compile
    根据用例,该配置已被 api 或 implementation 替换。
    同样适用于 *Compile 变体,例如 debugCompile
  • provided
    该配置已被 compileOnly 替换。
    同样适用于 *Provided 变体,例如 releaseProvided
  • apk
    该配置已被 runtimeOnly 替换。
  • publish
    该配置已被 runtimeOnly 替换。

在大多数情况下,AGP 升级助理会自动将您的项目迁移到新配置。

Gradle 4.2.0(2021 年 3 月)

最低版本默认版本备注
Gradle6.7.1不适用如需了解详情,请参阅更新 Gradle。
SDK Build Tools30.0.230.0.2安装或配置 SDK Build Tools。
NDK不适用21.4.7075529安装或配置其他版本的 NDK。

新功能

此版本的 Android Gradle 插件包含以下新功能。

默认情况下使用 Java 语言版本 8

从 4.2 版本开始,AGP 将默认使用 Java 8 语言级别。Java 8 提供对一些更新语言功能(包括 lambda 表达式、方法引用和静态接口方法)的访问权限。如需查看受支持功能的完整列表,请参阅 Java 8 文档。

现在支持 v3 和 v4 签名

 Android Gradle 插件 4.2 现在支持 APK v3 和 APK v4 签名格式。 如需在 build 中启用这两种格式之一或同时启用这两种格式,请将以下属性添加到模块级 build.gradle 或 build.gradle.kts 文件中:

// build.gradle

android {
  ...
  signingConfigs {
    config {
        ...
        enableV3Signing true
        enableV4Signing true
    }
  }
}

通过 APK v4 签名,您可以使用 Android 11 中的 ADB 增量 APK 安装快速部署大型 APK。此新标志负责部署过程中的 APK 签名步骤。

按变体配置应用签名

现在可以按变体在 Android Gradle 插件中启用或停用应用签名。

以下示例展示了如何在 Kotlin 或 Groovy 中使用 onVariants() 方法按变体设置应用签名:

androidComponents {
    onVariants(selector().withName("fooDebug"), {
        signingConfig.enableV1Signing.set(false)
        signingConfig.enableV2Signing.set(true)
    })

gradle插件版本 和 gradle版本 介绍以及他们的对应关系


1.1 版本代码: 
	gradle版本: distributionUrl = https\://services.gradle.org/distributions/gradle-4.6-all.zip
	gradle插件版本: classpath 'com.android.tools.build:gradle:2.3.3'
	
1.2 位置
	gradle版本: 项目/gradle/wrapper/gradle-wrapper.properties 文件中
	gradle插件版本: 项目/build.gradle 文件中

总要地址:

Android Gradle 插件版本说明  |  Android 开发者  |  Android Developers

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/175642.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

实体店运营:能提高顾客留存率的店铺陈列方式

今天是大年初一,秦丝祝各位商户老板新年快乐,喜迎开门红,赚个盆满钵满!现在还在营业的实体店应该不多了吧?大部分老板都回家团圆了。忙忙碌碌一整年,好不容易到了年关,好好休息是应该的。但是店…

Go存储引擎相关资料汇总

背景 ​ 最近逛知乎的时候看到了这个问题,“Go语言如何写数据库?”。说来我业余时间在这个领域有一些时间精力的投入了,所以想回答一下。我投入的方向是存储引擎方面,所以这篇文章主要是总结一下我看过的一些比较好的Go存储引擎的…

二维费用背包问题

二维费用背包问题一、问题二、思路1、状态表示2、状态转移3、循环设计4、注意三、代码一、问题 二、思路 这道题归根结底还是背包问题的一种,面对背包问题,我们的思路就是面对前i个物品的时候,我们的第i个物品是选还是不选,如果条…

关于ARM的向量中断控制器NVIC

学习或者了解过ARM的朋友应该都会知道NVIC这么个东西,这个东西也是ARM中非常重要的东西,它是ARM不可分离的部分,搭配着内核共同完成着对中断的响应。 1、那到底NVIC是个啥东西呢? NVIC:简称嵌套向量中断控制器。它管理…

【new操作符做了什么 —— js】

🧁个人主页:个人主页 ✌支持我 :点赞👍收藏🌼关注🧡 文章目录new操作符具体做了什么?🎈创建了一个空的对象✨将空对象的原型,指向于构造函数的原型🍧将空对象…

【操作系统】—— Windows卸载与清除工具“ Geek 与 CCleaner ” (带你快速了解)

📜 “作者 久绊A” 专注记录自己所整理的Java、web、sql等,IT技术干货、学习经验、面试资料、刷题记录,以及遇到的问题和解决方案,记录自己成长的点滴。 🍁 操作系统【带你快速了解】对于电脑来说,如果说…

day23-网络编程01

1.网络编程入门 1.1 网络编程概述【理解】 计算机网络 是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计…

微服务框架需要处理哪些问题?

文章目录简述架构选择统一版本管理基础框架包管理业务框架包管理模型分层全局上下文管理数据结构定义上下文的传播前后端数据格式协定统一数据格式字段规范协定异常处理orm配置公共字段处理分页处理字段加解密缓存key的序列化哪些数据进行缓存消息队列key的规范队列的管理注册中…

34.Isaac教程--操作示例应用程序

操作示例应用程序 ISAAC教程合集地址文章目录操作示例应用程序与 Jupyter Notebook 的简单联合控制Shuffle Box with Simulator与 Jupyter Notebook 的简单联合控制 此示例使用 Jupyter Notebook 提供交互式联合控制。 这是处理用于操作组件(包括 LQR 规划器&#…

PowerShell 执行策略

在使用 SAPIEN 的PowerShell Studio时出现如下错误:无法在当前系统上运行该脚本。有关运行脚本和设置执行策略的详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID135170 中的 about_Execution_Policies。 ERROR: 所在位置 行:1 字符: 2 ERROR: …

python基础——函数编程

python基础——函数编程 文章目录python基础——函数编程一、实验目的二、实验原理三、实验环境四、实验内容五、实验步骤一、实验目的 掌握函数编程 二、实验原理 在Python中,定义函数的语法如下: def 函数名([参数列表]): ‘’‘注解’…

【人人都是算法专家】一文搞定AI算法竞赛(全网最详细)

Rocky Ding公众号:WeThinkIn写在前面 【人人都是算法专家】栏目专注于分享Rocky在AI行业中业务/竞赛/研究/产品维度的思考与感悟。欢迎大家一起交流学习💪 大家好,我是Rocky。 之前Rocky总结过很多关于AI算法竞赛的方法论、经验思考以及细节…

分享123个ASP源码,总有一款适合您

ASP源码 分享123个ASP源码,总有一款适合您 下面是文件的名字,我放了一些图片,文章里不是所有的图主要是放不下..., 123个ASP源码下载链接:https://pan.baidu.com/s/17G9rpRpCJX_D-6DV0j4uFg?pwd3rx8 提取码&#x…

qt json tree 读取json树状结构并显示

1.介绍 用qt的相关的几个类处理json格式的信息 json内容: { "root":{"sites": [{ "name":"菜鸟教程" , "url":"www.runoob.com" }, { "name":"google" , "url":&quo…

QT环境的搭建安装:VsCode及Qt Creator

前言: vscode的界面美观,并且和QT一样的跨平台,所以可以选择vscode作为开发环境。   QT5.9.X版本成熟,相应教程丰富,并且5.9.9版本具有生成CMake功能,所以本文以QT5.9.9版本为例,给出QT环境的…

美团出品 | YOLOv6 v3.0 is coming(性能超越YOLOv7、v8)

🚀🚀🚀美团出品 | YOLOv6 v3.0 is coming !!✨✨✨ 一、前言简介 🎄🎈 📚 代码地址:美团出品 | YOLOv6 3.0代码下载地址 📚 文章地址:https://a…

仿写Dubbo-Java反射

概念 反射是Java的一个特性,反射允许程序运行时动态获取类的所有信息以及对其进行操作。反射在框架(spring,springboot,mybatis等)中的使用非常的广发,可谓是框架的灵魂。 获取Class对象 在使用反射之前,需要获取到Cla…

工欲善其事必先利其器——Elasticsearch安装

安装使用说明 首先在elasticsearch官网下载你想要安装的版本,我这里使用的是7.12.1版本 上传到你想要安装的目录(/user/search/) 然后解压,解压命令如下: tar -zxvf elasticsearch-7.12.1-linux-x86_64.tar.gz 解压后…

创建保存字符串的数组numpy.char以及用于处理字符串数组的函数

【小白从小学Python、C、Java】【计算机等级考试500强双证书】【Python-数据分析】创建字符串数组numpy.char.array()修改字符串数组大小写capitalize();title();lower();upper()[太阳]选择题对于以下python代码title()方法输出的结果是?imp…

【并发编程十二】c++20线程同步——信号量(semaphore)

【并发编程十二】c20线程同步——信号量(semaphore)一、互斥二、条件变量三、future四、信号量1、信号量原理2、c 20 信号量3、demo简介: 本篇文章,是线程同步的最后一篇。我们详细的介绍下c标准库提供的线程同步方法——信号量&a…