Android Studio 与 Gradle 及插件版本兼容性

embedded/2024/9/24 22:01:33/

Android Studio 开始新项目时,会自动创建其中部分文件,并为其填充合理的默认值。

项目文件结构布局:

 一、Android Gradle 及插件作用:

Android Studio 构建系统以 Gradle 为基础,并且 Android Gradle 插件 (AGP) 添加了几项专用于构建 Android 应用的功能。

Android 构建系统会编译应用资源和源代码,然后将它们打包成 APK 或 Android App Bundle 文件,供测试、部署、签名和分发。

Android Studio 使用高级构建工具包 Gradle 来自动执行和管理构建流程,同时也允许自行指定灵活的 build 配置。每项 build 配置均可定义各自的一组代码和资源,同时重复利用所有应用版本共用的部分。Android Gradle 插件与该构建工具包搭配使用,提供专用于构建和测试 Android 应用的流程和可配置设置。

Gradle 和 Android Gradle 插件独立于 Android Studio 运行。这意味着,您可以在 Android Studio 内、计算机上的命令行或未安装 Android Studio 的计算机(如持续集成服务器)上构建 Android 应用。

Android Studio 和 AGP 需要满足最低版本要求才能支持特定 API 级别。如果使用的 Android Studio 或 AGP 版本低于项目的 targetSdkcompileSdk 所要求的版本,可能会导致意外问题。

Android Studio 和 AGP 的最低版本如下所示:

谷歌宣称将更新 Android Gradle 插件 (AGP) 的版本号,以使其更接近底层 Gradle 构建工具。

重要变更如下:

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

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

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

  • API 将提前大约一年废弃,同时提供替代功能。弃用的 API 将在大约一年后的下次主要版本更新期间移除。

Android Gradle 插件 8.3 支持的最高 API 级别为 API 级别 34。下面是其他兼容性信息:

最低版本默认版本备注
Gradle土耳其里拉土耳其里拉如需了解详情,请参阅更新 Gradle。
SDK Build Tools34.0.034.0.0安装或配置 SDK Build Tools。
NDK不适用26.1.10909125安装或配置其他版本的 NDK。
JDK1717如需了解详情,请参阅设置 JDK 版本。

二、Android Studio 版本与 AGP 版本兼容性:

下表列出了各个 Android Studio 版本所需的 AGP 版本。

Android Studio 版本所需 AGP 版本
Koala | 2024.1.1 3.2-8.5
Jellyfish | 2023.3.13.2-8.4
Iguana | 2023.2.13.2-8.3
Hedgehog | 2023.1.13.2-8.2
Giraffe | 2022.3.13.2-8.1
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 版本与 AGP 版本兼容性:

更新 Android Studio 时,可能会收到一并将 Gradle 更新为最新可用版本的提示。

可以选择接受该更新,也可以根据项目的构建要求手动指定版本。

下表列出了各个 Android Gradle 插件版本所需的 Gradle 版本。为了获得最佳性能,最好使用 Gradle 和插件这两者的最新版本。

插件版本所需最低 Gradle 版本
8.4土耳其里拉
8.38.4
8.28.2
8.18
88
7.47.5
7.37.4
7.27.3.3
7.17.2
77
4.2.0+6.7.1
4.1.0+6.5+
4.0.0+6.1.1+
3.6.0 - 3.6.45.6.4+
3.5.0 - 3.5.45.4.1+
3.4.0 - 3.4.35.1.1+
3.3.0 - 3.3.34.10.1+
3.2.0 - 3.2.14.6+
3.1.0+4.4+
3.0.0+4.1+
2.3.0+3.3+
2.1.3 - 2.2.32.14.1 - 3.5
2.0.0 - 2.1.22.10 - 2.13
1.5.02.2.1 - 2.13
1.2.0 - 1.3.12.2.1 - 2.9
1.0.0 - 1.1.32.2.1 - 2.3

                                                                                         老徐,2024/5/19


http://www.ppmy.cn/embedded/42211.html

相关文章

计算机网络学习小结_数据链路层

数据链路和帧 帧:数据链路层传输基本单元。链路层将网络层传过来的数据构成帧发到链路上,并将发到链路层的帧取出数据交给网络层 数据报/分组/包:网络层传输基本单元 三个基本问题 即封装成帧、透明传输、差错检测 封装成帧 概念&#…

VUE3注册指令的方法

指令注册只能全局指令和选项式页面指令,composition api没有页面指令 选项式页面指令 <template><div class"home"><h3>自定义指令</h3><div class"from"><el-input type"text" v-focus v-model"name&q…

坦克大战源码,C++复刻经典小游戏

源代码文末自取 狼人杀游戏&#xff1a;复古坦克大战的编程艺术 引言 在数字化飞速发展的今天&#xff0c;复古游戏以其独特的魅力和简单纯粹的游戏性&#xff0c;成为了游戏界的一股清流。它们不仅仅是游戏&#xff0c;更是一种文化&#xff0c;一种情怀。今天&#xff0c;…

Tomcat与JDK各版本的兼容性

Tomcat和JDK之间的兼容性通常取决于Tomcat的版本和JDK的版本。以下是Tomcat和JDK之间的一些常见版本兼容性概述&#xff1a; Tomcat 7&#xff1a; 兼容JDK 1.6、JDK 1.7 和 JDK 1.8。Tomcat 7是基于Java EE 6规范构建的&#xff0c;而JDK 1.6、1.7和1.8都提供了对Java EE 6规…

Nacos 进阶篇---Nacos服务端怎么维护不健康的微服务实例 ?(七)

一、引言 在 Nacos 后台管理服务列表中&#xff0c;我们可以看到微服务列表&#xff0c;其中有一栏叫“健康实例数” &#xff08;如下图&#xff09;&#xff0c;表示对应的客户端实例信息是否可用状态。 那Nacos服务端是怎么感知客户端的状态是否可用呢 &#xff1f; 本章…

反序列化漏洞(JBoss、apache log4、apache Shiro、JWT)Weblogic未授权访问、代码执行、任意上传

1.1什么是反序列化 就是把一个对象变成可以传输的字符串&#xff0c;目的就是为了方便传输。假设&#xff0c;我们写了一个class&#xff0c;这个class里面存有一些变量。当这个class被实例化了之后&#xff0c;在使用过程中里面的一些变量值发生了改变。以后在某些时候还会用到…

Qt | 布局部件拉伸(Stretch)原理及大小策略

Qt | 布局管理器基础(QLayout)01、简介 1、部件的大小策略 sizePolicy、大小限制、拉伸因子(Stretch Factors)的含义 ①、部件的大小策略、大小提示、拉伸因子从三个方面对布局内的部件怎样进行拉伸以填 满布局进行了说明。 ②、拉伸因子:描述了各个部件在进行拉伸时,多个…

Vitis HLS 学习笔记--避免使用多重访问指针

目录 1. 简介 2. 代码解析 2.1 pointer_stream_bad 2.2 pointer_stream_better 2.3 pointer_stream_good 3. 总结 1. 简介 本文将探讨在 Vitis HLS 中正确处理多重访问指针重要性以及其对功能的影响。通过分析示例代码&#xff0c;我们将讨论在如何正确处理指针访问&…