Android Studio Iguana | 2023.2.1 补丁 1
Android Studio Iguana | 2023.2.1 Canary 3
已修复的问题 | |||
---|---|---|---|
Android Gradle 插件 |
| ||
应用质量数据分析 |
| ||
基准配置文件和 ProfileInstaller |
| ||
代码编辑器 |
| ||
Gradle 文件编辑器 |
| ||
资源 |
|
Android Studio Iguana | 2023.2.1 Canary 2
已修复的问题 | ||||
---|---|---|---|---|
Android Gradle 插件 |
| |||
Compose 预览 |
| |||
设计工具 |
| |||
导入/同步 |
| |||
IntelliJ |
| |||
布局编辑器 |
| |||
lint 集成 |
| |||
模块化重构 |
| |||
Network Inspector |
| |||
Resource Manager |
| |||
运行测试 |
| |||
缩减器 (R8) |
|
Android Studio Iguana Canary 1 (2023.2.1.1)
已修复的问题 | |||||||
---|---|---|---|---|---|---|---|
Android Gradle 插件 |
| ||||||
Android SDK 升级助理 |
| ||||||
基准配置文件和 ProfileInstaller |
| ||||||
Build 变体 |
| ||||||
C++ Build |
| ||||||
C++ 编辑器 |
| ||||||
代码分析 |
| ||||||
调试程序 |
| ||||||
Gradle 文件编辑器 |
| ||||||
导入/同步 |
| ||||||
布局编辑器 |
| ||||||
布局检查器 |
| ||||||
Lint |
| ||||||
Logcat |
| ||||||
Resource Manager |
| ||||||
资源 |
| ||||||
运行 |
|
App Quality Insights 中集成了版本控制系统
借助 App Quality Insights,您现在可以在崩溃发生时从 Crashlytics 堆栈轨迹导航到相关代码。AGP 会将 Git 提交哈希数据附加到崩溃报告,这有助于 Android Studio 找到您的代码并显示该代码在发生问题的版本中的状态。在 App Quality Insights 中查看崩溃报告时,您可以选择前往当前 Git 检出中的代码行,或查看当前检出与生成崩溃的代码库版本之间的差异。
注意 :此功能目前仅支持使用 git 进行版本控制。
如需将版本控制系统与 App Quality Insights 集成,您需要满足以下最低要求:
- 最新的 Canary 版 Android Studio Iguana
- Android Gradle 插件 8.3 的最新 Alpha 版
- Crashlytics SDK v18.3.7(或 Firebase Android 物料清单 v32.0.0)
如需对可调试的 build 类型使用版本控制集成,请在模块级 build 文件中启用 vcsInfo
标记。对于发布(不可调试)build,该标志默认处于启用状态。
在 App Quality Insights 中查看 Crashlytics 崩溃变体
为帮助您分析崩溃的根本原因,您现在可以使用 App Quality Insights 来按问题变体或具有类似堆栈轨迹的事件组查看事件。如需查看崩溃报告的每个变体中的事件,请从下拉列表中选择一个变体。如需汇总所有变体的信息,请选择全部。
Compose 界面检查
为了帮助开发者在 Jetpack Compose 中构建更具自适应能力和无障碍功能的界面,Android Studio Iguana Canary 5 在 Compose 预览版中引入了全新的界面检查模式。此功能与针对视图的视觉 lint 检查和无障碍功能检查集成类似。当您激活 Compose UI 检查模式时,Android Studio 会自动审核您的 Compose 界面,并检查在不同屏幕尺寸上是否存在自适应和无障碍功能问题,例如文本在大屏幕上拉伸或色彩对比度较低。该模式会突出显示在不同预览配置中发现的问题,并在问题面板中列出这些问题。
请点击 Compose 预览中的界面检查按钮 ,立即试用此功能,并发送您的反馈:
界面检查模式的已知问题:
- 问题面板中的所选问题可能会失去焦点
- “禁止规则”不起作用
Compose 预览的渐进式渲染方式
Android Studio Iguana Canary 3 在 Compose 预览版中引入了渐进式渲染功能。为持续改进预览性能,我们现在对于不在视图范围内的任何预览,我们会特意降低其渲染质量以节省内存用量。
IntelliJ IDEA 2023.2 平台更新
Android Studio Iguana 包含 IntelliJ IDEA 2023.2 更新,这些更新改进了 Studio IDE 体验。如需详细了解相关变更,请参阅 IntelliJ IDEA 2023.2 版本说明。
基准配置文件模块向导
从 Android Studio Iguana 开始,您可以使用新模块向导中的 Baseline Profile Generator 模板(File > New > New Module)为应用生成基准配置文件。
此模板会设置您的项目,以使其支持基准配置文件。它使用新的基准配置文件 Gradle 插件,该插件可以执行一项 Gradle 任务以所需方式自动执行项目设置流程。
该模板还会创建一个运行配置,您只需从 Select Run/Debug Configuration 下拉列表中点击一下,即可生成基准配置文件。
使用 Espresso Device API 测试配置更改
当设备发生常见配置更改(例如旋转和屏幕展开)时,您可以使用 Espresso Device API 测试应用。借助 Espresso Device API,您可以在虚拟设备上模拟这些配置更改并同步执行测试,因此一次仅发生一项界面操作或断言,并且测试结果更加可靠。详细了解如何使用 Espresso 编写界面测试。
如需使用 Espresso Device API,您需要以下各项:
- Android Studio Iguana 或更高版本
- Android Gradle 插件 8.3 或更高版本
- Android 模拟器 33.1.10 或更高版本
- 搭载 API 级别 24 或更高级别的 Android 虚拟设备
针对 Espresso Device API 设置项目
如需设置项目以使其支持 Espresso Device API,请执行以下操作:
-
如需让测试将命令传递给测试设备,请将
INTERNET
和ACCESS_NETWORK_STATE
权限添加到androidTest
源代码集内的清单文件中:<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permissions.ACCESS_NETWORK_STATE" />
-
在
gradle.properties
文件中启用enableEmulatorControl
实验性标志:android.experimental.androidTest.enableEmulatorControl=true
-
在模块级构建脚本中启用
emulatorControl
选项:testOptions {emulatorControl {enable = true}}
-
在模块级构建脚本中,将 Espresso 设备库导入您的项目中:
dependencies {androidTestImplementation("androidx.test.espresso:espresso-device:3.5.1")}
针对常见的配置更改进行测试
Espresso Device API 具有多个屏幕方向和可折叠状态,可用于模拟设备配置更改。
针对屏幕旋转进行测试
以下示例展示了如何测试设备屏幕旋转时应用会发生什么情况:
-
首先,为了保持一致的起始状态,请将设备设置为竖屏模式:
import androidx.test.espresso.device.action.ScreenOrientationimport androidx.test.espresso.device.rules.ScreenOrientationRule...@get:Ruleval screenOrientationRule: ScreenOrientationRule = ScreenOrientationRule(ScreenOrientation.PORTRAIT)
-
创建一个在测试执行期间将设备设置为横向的测试:
@Testfun myRotationTest() {...// Sets the device to landscape orientation during test execution.onDevice().setScreenOrientation(ScreenOrientation.LANDSCAPE)...}
-
在屏幕旋转后,检查界面是否按预期适应新布局:
@Testfun myRotationTest() {...// Sets the device to landscape orientation during test execution.onDevice().setScreenOrientation(ScreenOrientation.LANDSCAPE)composeTestRule.onNodeWithTag("NavRail").assertIsDisplayed()composeTestRule.onNodeWithTag("BottomBar").assertDoesNotExist()}
针对屏幕展开进行测试
以下示例展示了如何测试应用在可折叠设备上且屏幕展开时会发生什么情况:
-
首先,通过调用
onDevice().setClosedMode()
对处于折叠状态的设备进行测试。确保应用的布局适应较小的屏幕宽度:@Testfun myUnfoldedTest() {onDevice().setClosedMode()composeTestRule.onNodeWithTag("BottomBar").assetIsDisplayed()composeTestRule.onNodeWithTag("NavRail").assetDoesNotExist()...}
-
如需转换为完全展开状态,请调用
onDevice().setFlatMode()
。检查应用的布局能否适应较大尺寸类:@Testfun myUnfoldedTest() {onDevice().setClosedMode()...onDevice().setFlatMode()composeTestRule.onNodeWithTag("NavRail").assertIsDisplayed()composeTestRule.onNodeWithTag("BottomBar").assetDoesNotExist()}
指定测试所需的设备
如果您运行在不可折叠的设备上执行折叠操作的测试,该测试通常会失败。如需仅执行与正在运行的设备相关的测试,请使用 @RequiresDeviceMode
注解。该测试运行程序会在不支持被测配置的设备上自动跳过运行测试。您可以将设备要求规则添加到每个测试或整个测试类中。
例如,如需指定应仅在支持展开为平面配置的设备上运行测试,请将以下 @RequiresDeviceMode
代码添加到测试中:
@Test
@RequiresDeviceMode(mode = FLAT)
fun myUnfoldedTest() {...
}
相关文章:
Android Studio Iguana | 2023.2.1 补丁 1
Android Studio Iguana | 2023.2.1 Canary 3 已修复的问题Android Gradle 插件 问题 295205663 将 AGP 从 8.0.2 更新到 8.1.0 后,任务“:app:mergeReleaseClasses”执行失败 问题 298008231 [Gradle 8.4][升级] 由于使用 kotlin gradle 插件中已废弃的功能&#…...
iOS17 隐私协议适配详解
1. 背景 网上搜了很多文章,总算有点头绪了。其实隐私清单最后做出来就是一个plist文件。找了几个常用三方已经配好的看了看,比着做就好了。 WWDC23 中关于隐私部分的更新(WWDC23 隐私更新官网),其中提到了第三方 SDK 的…...
LeetCode 每日一题 Day 116-122
2580. 统计将重叠区间合并成组的方案数 给你一个二维整数数组 ranges ,其中 ranges[i] [starti, endi] 表示 starti 到 endi 之间(包括二者)的所有整数都包含在第 i 个区间中。 你需要将 ranges 分成 两个 组(可以为空…...
linux离线安装jenkins及使用教程
本教程采用jenkins.war的方式离线安装部署,在线下载的方式会遇到诸多问题,不宜采用 基本环境: 1.jdk环境,Jenkins是java语言开发的,因需要jdk环境。 2.git/svn客户端,因一般代码是放在git/svn服务器上的&a…...
NXP-S32DS软件安装
文章目录 一、安装包获取二、S32DS安装三、芯片插件安装 一、安装包获取 登录NXP官网,进入软件目录https://www.nxp.com/ 下载S32DS软件和RTD驱动库,并安装S32DS软件。 单击“S32DS.3.5_b220726_win32.x86_64.exe”下载该软件 点击“License Keys”&…...
26版SPSS操作教程(初级第十五章)
前言 #由于导师最近布置了学习SPSS这款软件的任务,因此想来平台和大家一起交流下学习经验,这期推送内容接上一次第十四章的学习笔记,希望能得到一些指正和帮助~ 粉丝及官方意见说明 #针对官方爸爸的意见说的推送缺乏操作过程的数据案例文件…...
docker部署实用的运维开发手册
下载镜像 docker pull registry.cn-beijing.aliyuncs.com/wuxingge123/reference:latestdocker-compose部署 vim docker-compose.yml version: 3 services:reference:container_name: referenceimage: registry.cn-beijing.aliyuncs.com/wuxingge123/reference:latestports:…...
Oracle VM(虚拟机)性能监控工具
Oracle VM是一个独立的虚拟化环境,由 Oracle 提供支持和设计,旨在为运行虚拟机提供轻量级、安全的基于服务器的平台。Oracle VM 能够在受支持的虚拟化环境中部署操作系统和应用软件,Oracle VM 将用户和管理员与底层虚拟化技术隔离开来&#x…...
1.8 python 模块 time、random、string、hashlib、os、re、json
ython之模块 一、模块的介绍 (1)python模块,是一个python文件,以一个.py文件,包含了python对象定义和pyhton语句 (2)python对象定义和python语句 (3)模块让你能够有逻辑地…...
iOS苹果签名共享签名是什么以及如何获取?
哈喽,大家好呀,咕噜淼淼又来和大家见面啦,最近有很多朋友都来向我咨询共享签名iOS苹果IPA共享签名是什么,针对这个问题,淼淼来解答一下大家的疑惑并告诉大家iOS苹果ipa共享签名需要如何获取。 现在苹果签名在市场上的…...
python爬虫下载音乐
本文使用创作助手。 你可以使用Python的requests库来实现爬虫下载音乐。以下是一个简单的示例代码: import requestsdef download_music(url, file_path):response requests.get(url)with open(file_path, wb) as file:file.write(response.content)print(f"…...
HarmonyOS实战开发-一次开发,多端部署-视频应用
介绍 随着智能设备类型的不断丰富,用户可以在不同的设备上享受同样的服务,但由于设备形态不尽相同,开发者往往需要针对具体设备修改或重构代码,以实现功能完整性和界面美观性的统一。OpenHarmony为开发者提供了“一次开发&#x…...
关于v114之后的chromedriver及存放路径
使用selenium调用浏览器时,我一直调用谷歌浏览器,可浏览器升级后,就会再次遇到以前遇到过的各种问题,诸如:1、怎么关闭浏览器更新;2、去哪儿下载chromedriver;3、114版本之后的驱动去哪儿下载&a…...
http模块 服务器端如何响应(获取)静态资源?
一、静态资源与动态资源介绍: (1)静态资源 内容长时间不改变的资源。eg:图片、视频、css js html文件、字体文件... (2)动态资源 内容经常更新的资源。eg:百度首页、淘宝搜索列表... 二、服…...
基于PHP的校园招聘管理系统
有需要请加文章底部Q哦 可远程调试 基于PHP的校园招聘管理系统 一 介绍 此校园招聘管理系统基于原生PHP开发,数据库mysql,前端bootstrap。系统角色分为个人用户,企业和管理员三种。 技术栈:phpmysqlbootstrapphpstudyvscode 二…...
LLMs 可能在 2 年内彻底改变金融行业
在艾伦图灵研究所(The Alan Turing Institute)最新的一项研究中,我们看到了大型语言模型(Large Language Models,LLMs)的一种可能性。它有望通过检测欺诈行为、生成财务洞察以及自动化客户服务,…...
nodejs 中 yarn的安装和使用
Yarn是一个快速、可靠、易于使用的包管理工具,它是Facebook、Google、Tencent等公司使用的默认JavaScript包管理工具。Yarn可以帮助开发者在项目中管理依赖,确保不同环境之间的依赖一致性,并且加速依赖的下载和安装。 安装Yarn Yarn支持多种操作系统,包括macOS、Linux和W…...
软件工程学习笔记14——案例解析篇
案例解析篇 一、大型开源项目对软件工程的应用1、开发迭代过程 二、大厂是怎样应用软件工程的1、软件项目开发团队组成(1)软件开发团队规模小(2)没有专职测试(3)DevOps 文化 2、开发工具的使用3、项目开发流…...
【文件操作API的使用】
1.概念 这对聪明的你们来说简直就是,对吗。 那什么是文件操作符,文件操作又有哪些步骤呢? 文件操作符通常用于指代在计算机编程中用于处理文件的特殊符号或标识符。在很多编程语言中,文件操作符被用于打开、关闭、读取和写入文件…...
C++ 让类只在堆或栈上分配
1. 让类只在栈上或堆上分配内存 在C中,类的对象建立分为两种: 一种是静态建立,如A a; 另一种是动态建立,如A* ptrnew A;这两种方式是有区别的。 1、静态建立类对象:是由编译器为对象在栈空间…...
SpringMVC源码分析(九)--返回值解析器
1.返回值解析器介绍 返回值解析器用于解析Hanlder执行方法后的返回结果,例如将方法上标注有@ResponseBody注解的返回值解析成JSON、将方法返回的字符串作为视图名等 SpringMVC中默认的返回值解析器见RequestMappingHandlerAdapter#getDefaultReturnValueHandlers private L…...
京西商城——创建订单和获取订单接口
在之前的写过的接口中,我先后用了基于View和APIView来编写视图类 基于APIView类的时候相对于View会有很多便捷,但其实drf还在APIView的基础上又封装了一个 GenericAPIView 类,会大大减少了在编写视图时的重复代码和在修改代码时的工作量。 G…...
大话设计模式之模板方法模式
模板方法模式(Template Method Pattern)是一种行为设计模式,它定义了一个算法的框架,将特定步骤的实现延迟到子类中。模板方法模式通过在父类中定义算法的骨架,而将具体步骤的实现留给子类来完成,从而使子类…...
新model开发记录
模型使用 -- 用blender导出为 fbx ,修改渲染方式(点击模型->Materials->Extract Materials(将材质从fbx中 单独提取出来了)->Materials 选择 Shader -> SimpleURPToonLitExample 点开脸的材质,勾选第一条) 解决角色…...
ARMday1
1.总结keil5下载代码和编译代码需要注意的事项 答:下载代码时,确保stlink的驱动有效、魔术棒中硬件型号的连接 编译代码时,先将配置魔术棒里Debug中的Setting,将Flash中Reset and Run勾选上,并去除pack中的Enab…...
【C++风云录】创造视觉奇迹:探索C++图形编程的魅力与可能性
图形与界面:从SFML到Allegro,探索C图形编程的世界 前言 随着计算机图形技术和界面设计的快速发展,图形编程在软件开发中变得越来越重要。C作为一种功能强大的编程语言,为开发人员提供了丰富的图形编程工具和库。本文将介绍几个流…...
常见的Nginx+Redis+MQ+DB架构设计
三高,复杂的架构 SQRS CAP 缓存,限流 【Redis,缓存】 cache-aside 缓存cache:数据源的副本 store 1. Read/Write Through Pattern 读写穿透模式 redis:放当前在线用户,热点数据...
vue+elementUI搭建动态表头的表格
前提:以下代码是vue2项目结合elementUi完成的 数据结构 后端传来的数据是两个list,一个表头的list,一个表格内容的list // 表头 headTableAtts: [{ columnLabel: 姓名, columnName: name },{ columnLabel: 年龄, columnName: age },{ colu…...
【ENSP】交换机和交换机之间实现静态路由
1.概念 三层交换机只能在Vlanif逻辑口配置iP地址 2.实现方法 交换机允许对应vlan通行,配置vlanif的ip地址,做静态路由 3.静态路由配置方法 ip route-static 目的网段 子网掩码 下一跳设备 LSW1三层交换机配置 u t m sys vlan batch 10 20 …...
2024.2.18力扣每日一题——N叉树的前序遍历
2024.2.18 题目来源我的题解方法一 深度优先遍历(递归方式)方法二 迭代方式(栈实现) 题目来源 力扣每日一题;题序:589 我的题解 方法一 深度优先遍历(递归方式) 与二叉树的前序遍…...
如何找回网站后台密码/怎样免费给自己的公司做网站
给出要筛数值的范围n,找出以内的素数。先用2去筛,即把2留下,把2的倍数剔除掉;再用下一個質數,也就是3筛,把3留下,把3的倍数剔除掉;接下去用下一個質數5筛,把5留下&#x…...
建站小二/百度收录入口
1. one team:生活日历 身为生活日历应该添加一些假期提醒以及工作人和双休日安排。可以添加第三方登录,使用户登录更加简单方便。应用了悬浮安妮,感觉把悬浮按钮放在顶部的的效果会更好,同时信息的显示不够清晰,绿色的…...
织梦cms 做视频网站/深圳产品网络推广
项目引入vue-i18n实现国际化多语言,vue-i18n包 自行下载,放到libs目录下,在main.js中引入 //main.js import Vue from vue import App from ./App //多语言引入 import VueI18n from ./libs/vue-i18n import en from ./common/js/en.js//英文…...
做软件怎么赚钱/百度seo关键词点击软件
总结了一下关于使用onmouseover以及onmouseout会出现的bug 首先简单的布局: <div id"box"><div>这是一个内容</div> </div> 简单写了一下样式,效果如下: js代码如下: var oBox document.getEl…...
网站建设步骤 教 程/优化科技
1) 字符串指针变量是个变量,指向字符串的首地址;而字符串数组名是个常量,为字符串数组第一个元素的地址;2)字符串指针变量可以赋值,而字符串数组名不能赋值;对于字符数组只能对各个元素赋值,不能…...
凡科轻站官网/地推接单在哪个平台找
shell脚本执行报错exec format error,脚本权限没有问题: 原因可能是脚本里#!/bin/bash和#!/bin/sh兼容问题导致,标准系统支持的都是/bin/bash; 首先查看当前系统的bash或dash: [rootlocalhost ~]# ls -l …...