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

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

image.png


  • 原标题:Announcing Android Studio Arctic Fox (2020.3.1) & Android Gradle plugin 7.0
  • 原地址:https://android-developers......
  • 原作者:Google
  • 译者:hi-dhl
  • 公众号:ByteCode,致力于分享最新技术原创文章,涉及 Kotlin、Jetpack、算法、译文、系统源码相关的文章


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。


image.png


接下来,我们将介绍 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.3 2.2.1 - 2.3
1.2.0 - 1.3.1 2.2.1 - 2.9
1.5.0 2.2.1 - 2.13
2.0.0 - 2.1.2 2.10 - 2.13
2.1.3 - 2.2.3 2.14.1+
2.3.0+ 3.3+
3.0.0+ 4.1+
3.1.0+ 4.4+
3.2.0 - 3.2.1 4.6+
3.3.0 - 3.3.3 4.10.1+
3.4.0 - 3.4.3 5.1.1+
3.5.0 - 3.5.4 5.4.1+
3.6.0 - 3.6.4 5.6.4+
4.0.0+ 6.1.1+
4.1.0+ 6.5+


以上信息参考 Android Gradle 插件版本说明


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


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


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


名称 版本号 发版日期 API API
Android 1.0 1.0 2008年9月23日 1 BASE
Android 1.1 1.1 2009年2月9日 2 BASE_1_1
Android Cupcake(纸杯蛋糕) 1.5 2009年4月27日 3 CUPCAKE
Android Donut(甜甜圈) 1.6 2009年9月15日 4 DONUT
Android Eclair(闪电泡芙) 2.0 – 2.1 2009年10月26日 5 – 7 ECLAIR_MR1(2.1.x)
ECLAIR_0_1(2.0.1)
ECLAIR(2.0)
Android Froyo(优格冰淇淋) 2.2 – 2.2.3 2010年5月20日 8 FROYO
Android Gingerbread(姜饼) 2.3 – 2.3.7 2010年12月6日 9 - 10 GINGERBREAD_MR1( 2.3.3 - 2.3.4)
GINGERBREAD(2.3、2.3.1、2.3.2)
Android Honeycomb(蜂巢) 3.0 – 3.2.6 2011年2月22日 11 - 13 HONEYCOMB_MR2(3.2)
HONEYCOMB_MR1(3.1x)
HONEYCOMB(3.0.x)
Android Ice Cream Sandwich(冰淇淋三明治) 4.0 – 4.0.4 2011年10月18日 14 - 15 ICE_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.1 2012年7月9日 16 – 18 JELLY_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.4 2013年10月31日 19 - 20 KITKAT
Android Lollipop(棒棒糖) 5.0 – 5.1.1 2014年11月12日 21 - 22 LOLLIPOP_MR1(5.1)
LOLLIPOP(5.0)
Android Marshmallow(棉花糖) 6.0 – 6.0.1 2015年10月5日 23 M
Android Nougat(牛轧糖) 7.0 – 7.1.2 2016年8月22日 24 - 25 N_MR1(7.1 - 7.11) N(7.0)
Android Oreo(奥利奥) 8.0 – 8.1 2017年8月21日 26 – 27 O_MR1(8.1) O (8.0)
Android Pie(派) 9 2018年8月6日 28 P
Android 10 10 2019年9月3日 29 Q
Android 11 11 2020年2月19日 30 R


从 Android Q 开始不再以甜品命名,且直接称 Android Q 为 Android 10。以上信息参考 uses-sdk


结语



全文到这里就结束了,如果有帮助 点个赞 就是对我最大的鼓励!


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


  • 全新系列视频:现代 Android 开发 (MAD) 技巧系列教程:在线查看
  • 计划建立一个最全、最新的 AndroidX Jetpack 相关组件的实战项目 以及 相关组件原理分析文章,正在逐渐增加 Jetpack 新成员,仓库持续更新,欢迎前去查看:AndroidX-Jetpack-Practice
  • LeetCode / 剑指 offer / 国内外大厂面试题 / 多线程 题解,语言 Java 和 kotlin,包含多种解法、解题思路、时间复杂度、空间复杂度分析


image.png


  • 最新 Android 10 源码分析系列文章,了解系统源码,不仅有助于分析问题,在面试过程中,对我们也是非常有帮助的,仓库持续更新,欢迎前去查看 Android10-Source-Analysis
  • 整理和翻译一系列精选国外的技术文章,每篇文章都会有译者思考部分,对原文的更加深入的解读,仓库持续更新,欢迎前去查看 Technical-Article-Translation
  • 「为互联网人而设计,国内国外名站导航」涵括新闻、体育、生活、娱乐、设计、产品、运营、前端开发、Android 开发等等网址,欢迎前去查看 为互联网人而设计导航网站


历史文章




目录
相关文章
|
3月前
|
Java Android开发 C++
Android Studio JNI 使用模板:c/cpp源文件的集成编译,快速上手
本文提供了一个Android Studio中JNI使用的模板,包括创建C/C++源文件、编辑CMakeLists.txt、编写JNI接口代码、配置build.gradle以及编译生成.so库的详细步骤,以帮助开发者快速上手Android平台的JNI开发和编译过程。
227 1
|
1月前
|
Java Unix Linux
Android Studio中Terminal运行./gradlew clean build提示错误信息
遇到 `./gradlew clean build`命令执行出错时,首先应检查错误信息的具体内容,这通常会指向问题的根源。从权限、环境配置、依赖下载、版本兼容性到项目配置本身,逐一排查并应用相应的解决措施。记住,保持耐心,逐步解决问题,往往复杂问题都是由简单原因引起的。
204 2
|
2月前
|
开发框架 Dart 前端开发
Android 跨平台方案对比之Flutter 和 React Native
本文对比了 Flutter 和 React Native 这两个跨平台移动应用开发框架。Flutter 使用 Dart 语言,提供接近原生的性能和丰富的组件库;React Native 则基于 JavaScript,具备庞大的社区支持和灵活性。两者各有优势,选择时需考虑团队技能和项目需求。
330 8
|
2月前
|
XML IDE 开发工具
🔧Android Studio高级技巧大公开!效率翻倍,编码不再枯燥无味!🛠️
【9月更文挑战第11天】在软件开发领域,Android Studio凭借其强大的功能成为Android开发者的首选IDE。本文将揭示一些提升开发效率的高级技巧,包括自定义代码模板、重构工具、高级调试技巧及多模块架构。通过对比传统方法,这些技巧不仅能简化编码流程,还能显著提高生产力。例如,自定义模板可一键插入常用代码块;重构工具能智能分析并安全执行代码更改;高级调试技巧如条件断点有助于快速定位问题;多模块架构则提升了大型项目的可维护性和团队协作效率。掌握这些技巧,将使你的开发之旅更加高效与愉悦。
63 5
|
2月前
|
Web App开发 网络协议 Android开发
Android平台一对一音视频通话方案大比拼:WebRTC VS RTMP VS RTSP,谁才是王者?
【9月更文挑战第4天】本文详细对比了在Android平台上实现一对一音视频通话时常用的WebRTC、RTMP及RTSP三种技术方案。从技术原理、性能表现与开发难度等方面进行了深入分析,并提供了示例代码。WebRTC适合追求低延迟和高质量的场景,但开发成本较高;RTMP和RTSP则在简化开发流程的同时仍能保持较好的传输效果,适用于不同需求的应用场景。
155 1
|
3月前
|
编解码 Android开发
【Android Studio】使用UI工具绘制,ConstraintLayout 限制性布局,快速上手
本文介绍了Android Studio中使用ConstraintLayout布局的方法,通过创建布局文件、设置控件约束等步骤,快速上手UI设计,并提供了一个TV Launcher界面布局的绘制示例。
54 1
|
3月前
|
存储 安全 API
Android经典实战之存储方案对比:SharedPreferences vs MMKV vs DataStore
本文介绍了 Android 开发中常用的键值对存储方案,包括 SharedPreferences、MMKV 和 DataStore,并对比了它们在性能、并发处理、易用性和稳定性上的特点。通过实际代码示例,帮助开发者根据项目需求选择最适合的存储方案,提升应用性能和用户体验。
91 1
|
3月前
|
Android开发
Android Studio: 解决Gradle sync failed 错误
本文介绍了解决Android Studio中出现的Gradle同步失败错误的步骤,包括从`gradle-wrapper.properties`文件中获取Gradle的下载链接,手动下载Gradle压缩包,并替换默认下载路径中的临时文件,然后重新触发Android Studio的"Try Again"来完成同步。
1261 0
Android Studio: 解决Gradle sync failed 错误
|
3月前
|
Java Android开发 芯片
使用Android Studio导入Android源码:基于全志H713 AOSP,方便解决编译、编码问题
本文介绍了如何将基于全志H713芯片的AOSP Android源码导入Android Studio以解决编译和编码问题,通过操作步骤的详细说明,展示了在Android Studio中利用代码提示和补全功能快速定位并修复编译错误的方法。
122 0
使用Android Studio导入Android源码:基于全志H713 AOSP,方便解决编译、编码问题
|
3月前
|
Dart 开发工具 Android开发
Android Studio导入Flutter项目提示Dart SDK is not configured
Android Studio导入Flutter项目提示Dart SDK is not configured
296 4