一 背景
以下 Android Studio 简称 as
以下 Android Gradle Plugin 简称 AGP as官方下载地址
我刚开始学Android 编程的时候,还在用Eclipse,后面开始用as,从
as 2.0
不断升级到 4.2
(2021年4月)。由于 as 本身是基于 Intellij 克隆的,为了和Intellij版本号保持一致, 谷歌在 2020年11月对 as 版本号的叫法进行了变更,点击了解变更说明。
二 第一个新版本2020.3.1
如果沿用以前的编号叫法,2021年8月发布的版本应叫 as 4.3。但是,新版编号系统将其命名为 Android Studio Arctic Fox (2020.3.1),或简称为Arctic Fox
(北极狐)。
现在是2021年,怎么新的版本编号名反而叫2020.3.1了,是不是越更新越旧?其实不是这样的,名字只是一个叫法,具体含义如下。
2.1 新编号说明
- 第1 和 第2 组数字:as是基于 IntelliJ 平台的哪个版本进行迭代的。
- 第3组数字: as 主版本从 1 开始,每个主版本递增 1。
- 第4组数字: as 次要版本/补丁程序版本,从1开始,每个次要版本递增1。因为是第一个版本,暂时没有补丁。后续如果as升级,会叫做:2020.3.1.1。
此外,还将为每个主要版本提供版本名称,分别以A 到Z 的动物来命名。所以:2020.3.1 == Arctic Fox。
2.2 为啥as要改名?
- 新的命名更加符合 IntelliJ 的命名规范,与Intellij 版本号 对齐。
- 新命名给开发者带来了更多的可见性,比如我们能明确知道as版本是基于 IntelliJ 哪个版本开发的。
2.3 AGP版本 与 as 版本解耦
以前我们升级了as版本后, 通常会在项目下的build.gradle 里更新 AGP插件版本
dependencies {
classpath "com.android.tools.build:gradle:4.2" // 以前
// classpath "com.android.tools.build:gradle:7.0.0" // 现在
}
-
以前Gradle插件的版本一直以来都是与AS的版本保持一致的。
-
现在AGP的版本与as的版本变化解耦,AGP 版本不再跟随Android Studio的主版本变化和发版节奏。在AGP 7.0之后,Gradle将会推出自己的年度主要版本,每年发布一个主要版本。
-
AGP 7.0 最低JDK版本要求
JAVA 11
,AGP 只会1年发布一个大版本,比如 2021发布了AGP 7.0, 后续补丁也是基于7.1.1 ,7.1.2。 使用稳定版AGP 的项目可以使用较新版本的as中。
三 as 2020.3.1 新特性
3.1 Data binding 支持 StateFlow
class ViewModel() {
val username: StateFlow<String>
}
<TextView
android:id="@+id/name"
android:text="@{vm.username}" />