当前位置: 首页 > news >正文

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

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

相关文章:

  • 外包干了3天,技术退步明显.......
  • java文档管理系统的设计与实现源码(springboot+vue+mysql)
  • vscode插件-06 Python
  • Postman进阶功能-Mock服务与监控
  • 【STM32项目】基于stm32智能鱼缸控制系统的设计与实现(完整工程资料源码)
  • 基于消息中间件的异步通信机制在系统解耦中的优化与实现
  • Kubeblocks系列2-redis尝试之出师未捷身先死
  • (六)DockerCompose安装与配置
  • 【MATLAB】基于EMD-PCA-LSTM的回归预测模型
  • Object类,你学会了吗?
  • 彻底搞懂JavaScript原型和原型链
  • CCF-GESP 等级考试 2023年12月认证C++一级真题解析
  • itext5生成pdf demo应用
  • 清空了电脑回收站,之前的文件还能否恢复?
  • 番外篇 | YOLOv5更换主干网络之Conformer:首个CNN + Transformer的backbone模型
  • Codepen 每日精选(2018-3-25)
  • css的样式优先级
  • JAVA 学习IO流
  • js学习笔记
  • Linux gpio口使用方法
  • PaddlePaddle-GitHub的正确打开姿势
  • React 快速上手 - 07 前端路由 react-router
  • spring boot下thymeleaf全局静态变量配置
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • 爱情 北京女病人
  • 百度小程序遇到的问题
  • 测试开发系类之接口自动化测试
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 批量截取pdf文件
  • 如何设计一个比特币钱包服务
  • 三栏布局总结
  • 设计模式(12)迭代器模式(讲解+应用)
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 提升用户体验的利器——使用Vue-Occupy实现占位效果
  • 推荐一个React的管理后台框架
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • 自动记录MySQL慢查询快照脚本
  • 小白应该如何快速入门阿里云服务器,新手使用ECS的方法 ...
  • ​ 全球云科技基础设施:亚马逊云科技的海外服务器网络如何演进
  • ​LeetCode解法汇总2696. 删除子串后的字符串最小长度
  • ​Linux Ubuntu环境下使用docker构建spark运行环境(超级详细)
  • #[Composer学习笔记]Part1:安装composer并通过composer创建一个项目
  • ${factoryList }后面有空格不影响
  • (04)odoo视图操作
  • (3)Dubbo启动时qos-server can not bind localhost22222错误解决
  • (超简单)构建高可用网络应用:使用Nginx进行负载均衡与健康检查
  • (简单) HDU 2612 Find a way,BFS。
  • (接上一篇)前端弄一个变量实现点击次数在前端页面实时更新
  • (未解决)macOS matplotlib 中文是方框
  • (一)面试需要掌握的技巧
  • (转)程序员技术练级攻略
  • .NET Core Web APi类库如何内嵌运行?
  • .Net 垃圾回收机制原理(二)
  • .net的socket示例
  • .NET中GET与SET的用法