查看原文
其他

官宣 有趣的 Android Studio 版本新方案

hi-dhl ByteCode 2022-12-14

原标题:Announcing Android Studio Arctic Fox (2020.3.1) & Android Gradle plugin 7.0
原地址:https://android-developers.googleblog.com/2020/12/announcing-android-studio-arctic-fox.html?m=1
原作者:Google
译者:hi-dhl

这是 dhl 的第 26 篇原创文章

Android Studio 版本命名新方案,带来的好处是升级 Android Studio 不需要同时升级 Gradle 插件,有趣的是以动物的名字来命名,全文分为译文译者思考两部分。

译文

于 2020.12.1 号 发布了  Android Studio Arctic Fox(2020.3.1) canary 版本,以及 Android Gradle 插件(AGP) 7.0.0-alpha01 版本,在新版本中,我们调整了 Android Studio 和 Gradle 插件的版本方案,这一变化将 Gradle 插件从 Android Studio 版本中分离出来,这样更加清楚的知道 Android Studio 在每个版本中使用的 IntelliJ 版本。

Android Studio 新的版本方案

随着 Android Studio Arctic Fox(2020.3.1) 的推出,我们将使用更接近 IntelliJ IDEA (Android Studio 所基于的IDE) 的基于年的版本方案,我们正在改变版本命名方案,同时也添加了一些重要的属性:年份, IntelliJ 的版本,加入了 feature 和 patch 级别。通过名字的改变,你可以很快地知道 Android Studio 使用的 IntelliJ 的版本号。此外,每个主要版本都有一个规范的代号,从 Arctic Fox 开始,然后按字母顺序进行,以方便查看哪个版本是最新的。

我们建议您使用最新的 Android Studio,以便可以使用最新功能和质量改进。为了使更新更容易,我们对版本进行了更改,将 Android Studio 与 Gradle 插件版本分离。要记住的一个重要细节是,更新 IDE 的时候,对构建系统编译和打包应用程序的方式没有影响。相反,应用程序构建过程的更改和 APK/Bundles 由项目 AGP 版本决定。

因此,即使在开发周期的后期,也可以安全地更新 Android Studio 版本,因为项目中使用的 AGP 版本可以和 Android Studio 版本不同。

最后,在新的版本系统中,只要您将 AGP 版本保持在稳定版本,可以很方便的在项目中同时运行 Android Studio 的稳定版本和预览版本。

按照以前的版本命名方案,这个版本是 Android Studio 4.3,但是在新的版本方案中,这个版本是 Android Studio Arctic Fox (2020.3.1) Canary 1 或者 Arctic Fox。

接下来,我们将介绍 Android Studio 新的版本命名方案。

<Year of IntelliJ Version>.<IntelliJ major version>.<Studio major version>

  • 前两个数字代表 Android Studio 使用的 IntellIj 的版本号,对于这个版本,是 2020.3
  • 第三个数字表示 Android Studio 主要的版本,从 1 开始递增
  • 为了更容易引用每个版本,我们给主要版本起了一个名称,根据动物名称从 a 开始递增到 Z。最初发行的名字是 Arctic Fox

Android Gradle 插件版本新方案

在 AGP 7.0.0 中,我们采用了 semantic versioning 的原则,并与 AGP 要求的 Gradle 版本保持一致,Android Studio 和  Gradle 插件之间的兼容性保持不变。使用 AGP 稳定版本的项目可以使用最新的 Android Studio 版本打开。

我们将会发布另外一篇文章,详细介绍 AGP 版本控制方案和 AGP 7.0 的新特性。

译者思考

对于新版本的命名方案最大的好处就是,升级 Android Studio 不需要同时升级 Gradle 插件,也就意味着,只要将 Gradle 插件的版本保持在稳定版本,可以很方便的在项目中同时运行 Android Studio 的稳定版本和预览版本。

但是新的 Gradle 插件会带来一些新特性,所以升级 Android Studio 版本的同时,可以同时升级 Gradle 插件的版本到稳定版本,我们来汇总一下 Android Studio 之前的命名方案 和  Gradle 插件的对应关系。

Android studio 插件版本与 gradle 版本对应关系如下所示:

AS 插件版本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+
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+

以上信息参考 Android Gradle 插件版本说明
https://developer.android.google.cn/studio/releases/gradle-plugin#updating-plugin

Android Studio 根据动物名称来命名,而 Android 系统 10.0 之前都是以甜点的方式来命名,我们在来会汇总一下 Android 系统的命名方案。

2007 年 11 月 5 日发布最初的版本(Android 0.5),至今 Android 发行了多个版本,Android 操作系统有预发行的内部版本,分别为铁臂阿童木(Astro)与机器人班亭(Bender),从 2009 年 5 月开始, Android 的版本代号以甜点来命名,且每个代号间的前缀以英文本母序接续排列。

Android 系统名字、版本、API level 的对应关系如下所示:

名称版本号发版日期APIAPI
Android 1.01.02008年9月23日1BASE
Android 1.11.12009年2月9日2BASE_1_1
Android Cupcake(纸杯蛋糕)1.52009年4月27日3CUPCAKE
Android Donut(甜甜圈)1.62009年9月15日4DONUT
Android Eclair(闪电泡芙)2.0 – 2.12009年10月26日5 – 7ECLAIR_MR1(2.1.x)

ECLAIR_0_1(2.0.1)

ECLAIR(2.0)
Android Froyo(优格冰淇淋)2.2 – 2.2.32010年5月20日8FROYO
Android Gingerbread(姜饼)2.3 – 2.3.72010年12月6日9 - 10GINGERBREAD_MR1( 2.3.3 -  2.3.4)

GINGERBREAD(2.3、2.3.1、2.3.2)
Android Honeycomb(蜂巢)3.0 – 3.2.62011年2月22日11 - 13HONEYCOMB_MR2(3.2)

HONEYCOMB_MR1(3.1x)

HONEYCOMB(3.0.x)
Android Ice Cream Sandwich(冰淇淋三明治)4.0 – 4.0.42011年10月18日14 - 15ICE_CREAM_SANDWICH_MR1(4.0.3、4.0.4)
 
ICE_CREAM_SANDWICH (4.0、4.0.1、4.0.2)
Android Jelly Bean(果冻豆)4.1 – 4.3.12012年7月9日16 – 18JELLY_BEAN_MR2(4.3)

JELLY_BEAN_MR1(4.2 - 4.2.2)

JELLY_BEAN(4.1 - 4.1.1)
Android KitKat(奇巧巧克力)4.4 – 4.4.42013年10月31日19 - 20KITKAT
Android Lollipop(棒棒糖)5.0 – 5.1.12014年11月12日21 - 22LOLLIPOP_MR1(5.1)

LOLLIPOP(5.0)
Android Marshmallow(棉花糖)6.0 – 6.0.12015年10月5日23M
Android Nougat(牛轧糖)7.0 – 7.1.22016年8月22日24 - 25N_MR1(7.1 - 7.11)

N(7.0)
Android Oreo(奥利奥)8.0 – 8.12017年8月21日26 – 27O_MR1(8.1)

 O (8.0)
Android Pie(派)92018年8月6日28P
Android 10102019年9月3日29Q
Android 11112020年2月19日30R

从 Android Q 开始不再以甜品命名,且直接称 Android Q 为 Android 10。以上信息参考 uses-sdk
https://developer.android.com/guide/topics/manifest/uses-sdk-element.html

全文到这里就结束了,如果有帮助欢迎 点赞 分享 在看 就是对我最大的鼓励!


推荐阅读



最后推荐我一直在更新维护的项目和网站:

  • 全新系列视频:现代 Android 开发 (MAD) 技巧系列教程
    https://madskills.hi-dhl.com

  • 最新的 AndroidX Jetpack 相关组件的实战项目 以及 原理分析的文章
    https://github.com/hi-dhl/AndroidX-Jetpack-Practice

  • LeetCode / 剑指 offer / 国内外大厂面试题 / 多线程 题解,语言 Java 和 kotlin,包含多种解法、解题思路、时间复杂度、空间复杂度分析

    剑指 offer:https://offer.hi-dhl.com
    LeetCode:https://leetcode.hi-dhl.com

  • 最新 Android 10 源码分析系列文章
    https://github.com/hi-dhl/Android10-Source-Analysis

  • 一系列国外的技术文章,每篇文章都会有译者思考部分,对原文的更加深入的分析
    https://github.com/hi-dhl/Technical-Article-Translation

  • 「为互联网人而设计,国内国外名站导航」涵括新闻、体育、生活、娱乐、设计、产品、运营、前端开发、Android 开发等等网址
    https://site.51git.cn



致力于分享一系列最新技术原创文章

长按二维码即可关注


我知道你在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存