Android Studio Flamingo | 2022.2.1 发布,快来看看有什么更新吧

news2025/1/19 7:59:08

原文链接 https://developer.android.com/studio/releases

新的 Android Studio 版本 Flamingo (火烈鸟) 已经发布,本次更改最有意思的点在于: Flamingo 自带的 JDK 是 JDK 17 而不再是 JDK 11,另外还有如 IDE 支持应用主题图标和动态颜色,更新了 Network Inspector ,更强大的 App Quality Insights ,Live Edit 更新等等。

自带变成 JDK 17 ,大家更新需谨慎

应用主题图标和动态颜色

随着Material 3 中动态颜色和 Android 13 中应用主题图标的引入 ,开发者现在创建的布局或启动图标会经过着色从而继承用户所选壁纸的颜色。

主题应用程序图标预览支持

对于 launcher.xml 文件,现在可以使用工具栏上新的 System UI Mode 来切换墙纸,并支持查看应用图标主题在用户选择不同壁纸之后的效果。

从 Android 13(API 级别 33)开始,用户可以为他们的自适应图标设置主题,如果用户启用了应用主题图标(例如在系统设置中打开主题图标切换),并且 App launcher 进行了支持,系统将使用用户选择的壁纸和主题的颜色来确定 App Icon 的颜色。

动态色彩预览

对于 Compose Preview:新版 Android Studio 向 Composable Preview 注释添加了一个新属性: wallpaper

如果应用中启用了动态颜色,开发者就可以使用这个新属性来切换壁纸,并查看 App 的 UI 对用户选择不同的壁纸后效果。

要使用此功能,必须使用 Compose 1.4.0-alpha03 或更高版本。

动态色彩是使用 M3 配色方案构建,从Android 12开始,用户可以通过壁纸选择等自定义设置生成个性化方案。以 M3 为基础,用户生成的颜色可以与应用颜色共存,将一系列可定制的视觉体验交到用户手中。

对于 Android XML:如果应用中启用了动态颜色,现在也可以使用工具栏上新的 System UI Mode 来切换, 需要注意的是,这里需要先将主题更改为 Material 动态颜色主题,然后再更改壁纸。

Live Edit 更新

live Edit 现在有两种模式:手动和自动:

  • 在手动模式下,每次使用 Ctrl+ S(对于 macOS 为Command+ S)手动保存时都会提交代码更改。

  • 在自动模式下,当更新 composable 函数时,所做的更改会在进行更改时自动提交到设备或模拟器中。

选择要运行 Live Edit 模式,可以从菜单栏(或Mac 上的 Android Studio > Preferences )转到 File> Settings ,点击 Editor > Live Edit,,然后选中 Push Edits Manually 或者 Push Edits Automatically 框。

Compose Tracing

System tracing 支持将设备活动保存到跟踪文件中,然后提供特定时间段内应用系统进程的整体情况。

从 Android Studio Flamingo 开始,开发者可以使用 Compose Tracing 在 System Trace Profiler 中查看 Compose 函数 , Compose Tracing 提供低侵入性的系统跟踪,帮助开发者了解哪些 Compose 函数实际上正在被重构。

要使用 recomposition tracing,需要至少更新到以下版本:

  • Android Studio Flamingo
  • Compose UI: 1.3.0-beta01
  • Compose Compiler: 1.3.0
  • 设备或模拟器至少是 API 级别 30。

此外,需要在 Compose Runtime Tracing 上添加以下依赖项:

implementation("androidx.compose.runtime:runtime-tracing:1.0.0-alpha01")

要查看 recomposition tracing, 需要打开 Android Studio Profiler 并选择 CPU profiler,之后打开 App 跳转到要跟踪的 UI,然后选择 System Trace and Record

录制时,可以使用你的 App 让它发生 recomposition,在停止记录和跟踪过程后,可以直接在 Threads timeline 中看到 recomposition trace 中的 Compose 函数。

你还可以在 Analysis 的Flame Chart**、Top Down、**Bottom Up 和 Events 选项卡中看到 Compose 函数 。

目前这是一项实验性功能,有关详细信息,可查阅 Compose tracing.。

项目模板更新

Android Studio Flamingo 包含用于创建项目或模块的新模板。

默认情况下,模板使用 Compose Material 3,除非它们被指定为 Views template,建议使用 Compose Material 3 模板(例如Empty Activity)作为创建 Android 应用。

要查看模板,可以通过从主菜单中选择 File > New > New Project 项目,通过 New ProjectCreate New Module 来打开向导。

Network Inspector 流量拦截

从 Android Studio Flamingo 开始 ,Network Inspector 默认显示完整时间线的所有流量数据,开发者可以在时间线中选择一个范围来查看该范围内的流量。

另外还可以创建和管理规则来帮助测试应用在遇到不同响应(例如状态代码、响应标头和正文)时的行为

这些规则确定要拦截哪些响应,以及如何在响应到达应用程序之前修改这些响应,开发者可以通过选中每个规则旁边的 Active 框来选择要启用或禁用的规则,每次修改规则时都会自动保存。

首先,打开到 Network Inspector 中的 Rules 选项卡,然后单击**+**创建新规则,在 Rule Details 面板中命名新规则,并在 **Origin ** 部分下包含有关要拦截的响应来源的信息,Rules 表中的 URL 需要根据开发者对响应来源所做的更改进行更新。

Response 部分,可以在将响应发送到应用之前对其进行修改,例如可以将规则设置为对具有特定状态代码的响应执行并修改该状态代码。

修改 header

Header rules 部分中,可以创建多个子规则来添加或修改响应中的标头。

当创建多个标题规则时,使用规则表顶部的向上和向下箭头来更改标题规则的顺序,该顺序会影响修改后的响应标头,因为标头规则是按照它们列出的顺序应用的。

可以通过点击 Header rules 部分中的 + 添加规则,然后在 Add new header 部分中输入标题的名称和值 。

要修改 header ,可以在 Edit existing header 选项卡里指定要查找的 header 名称或值,输入要替换的header 名称或值。

修改 response

如果有需要,还可以创建子规则来修改 response 的主体。

我们可以选择查找和替换 body 的一部分,或者通过选择 Replace entire body 来替换整个正文的全部内容。

**与 Header rules **类似,这里可以创建多个主体规则,这些规则按照它们在表中列出的顺序应用。

布局检查器自动连接 foreground process

布局检查器现在会自动连接到虚拟或物理设备上的应用上,具体来说,就是布局检查器会自动连接到在已连接设备的 foreground process 的可调试进程上。

App Quality Insights 更新

Android Studio Flamingo 引入了多项新的 App Quality Insights 功能,可帮助开发者专注于高优先级问题,并支持团队协作。

新过滤器和过滤器搜索

为了帮助开发者识别出重要的问题,现在可以按以下属性进行过滤,每个过滤器都按事件数排序,因此可以看到大多数事件发生的位置:

  • 安卓平台版本

  • 设备品牌和型号

  • Crashlytics Signal :Signal icons 还会显示在 Issues 面板中相关问题的旁边,因此开发者可以排查计数和信号。如果某个问题在过去已被关闭,但在新版本的应用中再次出现,则该问题被视为已回归。

    image-20230414102040888

  • 应用版本:筛选器现在包括一个更高级别的 Play track 筛选器,可以使用它自动选择生产、开放、封闭和/或内部测试中的版本。

此外,现在可以搜索支持选项过滤器,因此可以更快地自定义视图,而无需滚动浏览所有菜单选项。

直接从 Android Studio 注释和关闭问题

为了更轻松地与队友协作,现在可以直接在 **App Quality Insights **工具窗口中执行以下操作:

  • Close issues:要关闭问题,可以点击主堆栈跟踪面板中的 Close 按钮,最近关闭的问题会出现在带有删除线的 issues 面板中。你可以通过再次点击该按钮重新打开最近关闭的问题,但是刷新 **App Quality Insights **工具窗口后,已关闭的问题将会消失。
  • 阅读问题并附上注释: 为了在 Firebase 控制台和你的团队成员中可以同时处理问题,如果需要写关于问题的注释,请选择问题并打开 Notes 面板。当然,你必须拥有 Crashlytics 项目的写入权限才能编写注释。

如果你对于 App Quality Insights 还不了解,可以参阅 早期的发布说明。

离线时使用有限的功能进行调查

从 Android Studio Flamingo 开始,开发者可以在离线时的 App Quality Insights 工具窗口中执行一些操作。

如果发出的是新请求(例如通过单击Refresh ),并且 Android Studio 无法与 Crashlytics 通信,则 App Quality Insights 窗口允许开发者进入 Offline Mode

在此模式下,开发者可以继续调查缓存数据中的问题和最新事件,当然,某些功能(例如更改某些过滤器选项或关闭问题)不可用,要在与 Crashlytics 的连接并返回在线状态,可以点击 Reconnect

一键式自动化可配置构建和运行

Android Studio Flamingo 和 AGP 7.3 引入了一键式自动化可配置构建,这使得配置 profileable app 变得更加容易。

此功能需要 API 级别 29 或更高级别的虚拟或物理测试设备,要使用该功能,请单击 Profile app 程序图标 旁边的箭头,然后在两个选项之间进行选择:

  • 以低开销配置 “app” 启动 CPU 和内存分析器,在内存分析器中,仅启用 记录本机分配。

    image-20230414102913598

  • **具有完整数据的配置文件“应用”**会启动 CPU、内存和能源分析器。

    image-20230414102943728

要了解有的更多信息,可以参阅 Profileable applications 。

对 SDK 扩展的 Lint 支持

Android Studio Flamingo 为 SDK 扩展提供 lint支持,此功能允许开发者更新 lint 工具的 API 检查,从而支持存在 API backports 和新的 API surfaces(如 Android Privacy Sandbox )的情况下正确实施 API 访问。

通过 SDK 扩展,一个 API 可以存在于多个 SDK 中。例如 Android U 中引入的 API 也可以添加到 Android R、S 和 T 向后移植扩展中。

此外,应用程序可以根据需要使用其清单指定多个 API,并且有新的 API 用于检查各个扩展是否可用,lint 工具现在处理逻辑以检查所需内容和已知内容是否存在重叠。

最后,还有与 API 检查相关的 Studio IDE 功能。此功能现在可以处理新 API surfaces 的 API 违规,执行必要的检查并注册快速修复。

与 JDK 17 捆绑

从 Android Studio Flamingo 开始,Studio IDE 与 JDK 17 捆绑在一起,如果 Android Studio 配置为使用嵌入式 JDK,则新项目将使用最新稳定版本的 Android Gradle 插件和 JDK 17,但是,现有项目可能会有 break,你可能手动将 JDK 设置为兼容版本。

设置 JDK 版本

Android Studio 2.2 及更高版本捆绑提供了最新版本的 OpenJDK,这是我们建议用于 Android 项目的 JDK 版本,如需使用捆绑的 JDK,请执行以下操作:

  1. 在 Android Studio 中打开项目,然后依次选择 File > Settings… > Build, Execution, Deployment > Build Tools > Gradle(在 Mac 上,依次选择 Android Studio > Preferences… > Build, Execution, Deployment > Build Tools > Gradle)。
  2. Gradle JDK 下,选择 Embedded JDK 选项。
  3. 点击 OK

默认情况下,用于编译项目的 Java 语言版本取决于项目的 compileSdkVersion(因为不同版本的 Android 支持不同版本的 Java)。如有必要,你可以通过将以下 CompileOptions {} 代码块添加到 build.gradle文件替换此默认 Java 版本:

android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION\_1\_6
        targetCompatibility JavaVersion.VERSION\_1\_6
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/422653.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

TikTok和国产抖音的发展路径和趋势

鑫优尚电子商务:以历史为镜子,我们可以知道变化。 纵观TikTok和国产抖音,我们会发现TikTok目前的发展路径和趋势与国产抖音的主线十分相似,直播也是如此。鑫优尚电子商务 国内抖音直播一般经历过四个时代:直播1.0时代…

AIGC周报|清华、北邮新研究:让文生图AI更懂你

AIGC通过借鉴现有的、人类创造的内容来快速完成内容创作。ChatGPT、Bard等AI聊天机器人以及DallE 2、Stable Diffusion等文生图模型都属于AIGC的典型案例。「AIGC技术周报」将为你带来最新的paper、博客等前瞻性研究。 OpenAGI:当大模型遇见领域专家 “愿原力与大型…

分子生物学 第五章 DNA损伤修复和突变

文章目录第五章 DNA损伤修复和突变第一节第二节 DNA损伤的类型1 造成DNA损伤的因素2 DNA损伤的类型3 DNA损伤修复机制3.1 直接修复3.2 切除修复3.3 双链断裂修复3.4 重组修复3.5 跨越合成第五章 DNA损伤修复和突变 第一节 损伤:比如碱基,甲基化 突变&…

JavaSE学习进阶day04_04 正则表达式和Lambda表达式

第六章 正则表达式(超级重要) 开发心得:看着正确数据,从左到右书写正则表达式 6.1 正则表达式的概念及演示 在Java中,我们经常需要验证一些字符串,例如:年龄必须是2位的数字、用户名必须是8位…

爬虫日常练习-协程方式爬取图片

文章目录前言代码设计前言 hello朋友们,欢迎回来。这里是无聊的网友。今天给大家分享另一种处理多任务的方法–协程 那么在开始之前我们首先要了解什么是协程。协程是在一个线程内:多个任务出现阻塞时,由envet_loop轮转查看阻塞状态&#…

Zeppelin0.9.0 连接 Hive 3.1.2(踩坑,亲测有效)

一、前提 已经安装好Hadoop、Hive(可以启动hiveserver2)、Zeppelin 1.启动Hadoop [roothurys24 ~]# start-all.sh 2.启动hiveserver2 [roothurys24 ~]# cd /opt/soft/hive312/conf/ [roothurys24 conf]# nohup ../bin/hive --service hiveserver2 &a…

kubernetes之Ingress介绍

Ingress 组成 ingress controller将新加入的Ingress转化成Nginx的配置文件并使之生效 ingress服务将Nginx的配置抽象成一个Ingress对象,每添加一个新的服务只需写一个新的Ingress的yaml文件即可工作原理 1.ingress controller通过和kubernetes api交互&#xff0…

【机器学习(五)】基于KNN模型对高炉发电量进行回归预测分析

文章目录专栏导读1、KNN简介2、KNN回归模型介绍3、KNN模型应用-高炉发电量预测3.1数据集信息:3.2属性信息3.3数据准备3.4数据标准化和划分数据集3.5寻找最佳K值3.6建立KNN模型预测4、完整代码专栏导读 ✍ 作者简介:i阿极,CSDN Python领域新星…

利用74373芯片进行单片机IO口扩展的方法介绍-成都控制设备订做

本文介绍用74373芯片进行微处理器IO口扩展的方法。 1.为什么要进行IO口扩展? 在电路设计的某些时候,微处理器(如单片机)IO口不够用了,此时该怎么办呢?利用辅助芯片进行IO口扩展是个简单直接的方法&#xff…

开源社与 Dev.Together 2022

思否与开源社携手11>2在 2023 年的春天,开源社走进了 Dev.Together 2022 的会场,一时间有种时空错觉。2022 年本该举办的开源聚会因为不可抗力的因素被延期,感谢思否一直坚持的理念:Dev.Together Summit 只做线下,将…

debian 10 安装神州通用数据库 V7.0

debian 10 安装神州通用数据库 V7.01、官方下载链接2、windows客户端下载链接3、官方安装手册4、安装前准备3.1、创建安装用户3.2、以root 用户修改神通数据库安装包的所有者为shentong 用户3.3、以root 用户创建神通数据库主目录并修改所有者为shentong 用户3.4、以root 用户临…

c/c++:顺序结构,if else分支语句,do while循环语句,switch case break语句

c/c:顺序结构,if else分支语句,do while循环语句,switch case break语句 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,此时学会c的话, 我所知道的周边的会c的同学&#xff…

一文读懂域名注册

本文深入浅出讲解域名的注册、建站和管理,通过文章可以了解以下问题: 域名注册及建站流程;域名注册的技术原理;域名管理(修改 DNS 服务器、转入转出、自定义 DNSHost、whois 信息)。 众所周知,…

【MYSQL】表的增删改查(基础)

文章目录🌷 1. 新增(Create)⭐️ 1.1 单行行数据 指定列插入⭐️ 1.2 多行数据 指定列插入🌷 2. 查询(Retrieve)⭐️ 2.1 全列查询⭐️ 2.2 指定列查询⭐️ 2.3 查询字段为表达式⭐️ 2.4 别名⭐️ 2.5 去…

十五、市场活动:excel导入

功能需求 ①用户在市场活动主页面,点击"导入"按钮,弹出导入市场活动的模态窗口; ②用户在导入市场活动的模态窗口选择要上传的文件,点击"导入"按钮,完成导入市场活动的功能. *只支持.xls *文件大小不超过5MB ③导入成功之后,提示成功导入记录条数,关闭…

(只需三步)如何用chatgpt自动生成思维导图

目录 chatgpt是可以生成思维导图的!只需三步,非常简单! 第一步:打开chatgpt,告诉它主题 第二步,完善思维导图 第三步:查看思维导图的效果 chatgpt是可以生成思维导图的!只需三步&am…

21天学会C++:Day1----C++的发展史

CSDN的uu们,大家好。这里是C入门的第一讲。 座右铭:前路坎坷,披荆斩棘,扶摇直上。 博客主页: 姬如祎 收录专栏:C专题 目录 1. 什么是C 2. C的发展史 3. C的重要性 4. 如何学好C 4.1 别人如何学C 4…

海睿思分享 | 制造业数字化转型之业务场景驱动

在开始谈业务场景驱动之前,我们先介绍一下流程驱动和数据驱动的概念。 首先数据和流程在现代制造业相辅相成,流程中有数据,数据往往通过流程传递,而“驱动”是通过建立一定的驱动机制,改变以往人为的业务推进模式&…

Android UI设计经验分享,掌握设计技巧,让你的应用独树一帜

Android UI渲染是指Android应用程序中的用户界面如何被绘制。Android UI渲染很重要,因为渲染过程直接影响应用程序的性能和用户体验。 当用户在Android应用程序中进行交互时,应用程序会相应地创建并更新UI元素,例如TextView、Button、ImageV…

速下载 | 12项网络与数据安全新国标全文公开

根据2023年3月17日国家市场监督管理总局、国家标准化管理委员会发布的中华人民共和国国家标准公告(2023年第1号),全国信息安全标准化技术委员会归口的12项网络安全国家标准正式发布。近日标准全文正式公开,炼石第一时间搜集整理这…