Android Studio Hedgehog | 2023.1.1(刺猬)

 Android Gradle 插件和 Android Studio 兼容性

Android Studio 构建系统基于 Gradle,并且 Android Gradle 插件 (AGP) 添加了一些特定于构建 Android 应用程序的功能。下表列出了每个版本的 Android Studio 所需的 AGP 版本。 

Android Studio versionRequired AGP version
Iguana(鬣蜥) | 2023.2.13.2-8.3
Hedgehog(刺猬) | 2023.1.13.2-8.2
Giraffe(长颈鹿 ) | 2022.3.13.2-8.1
Flamingo(火烈鸟) | 2022.2.13.2-8.0
Electric Eel(电鳗) | 2022.1.13.2-7.4

Android API 级别工具的最低版本 

Android Studio 和 AGP 的最低版本支持特定的 API 级别。使用低于项目要求的 Android Studio 或 AGP 版本targetSdk可能compileSdk会导致意外问题。我们建议使用最新预览版的 Android Studio 和 AGP 来处理面向 Android 操作系统预览版的项目。您可以 安装 Android Studio 的预览版和稳定版。

Android Studio和AGP的最低版本如下:

API级别最低 Android Studio 版本最低 AGP 版本
34刺猬| 2023年1月1日8.1.1
33火烈鸟 | 2022年2月1日7.2

以下是 Android Studio Hedgehog 中的新功能。

用于指定 JDK 路径的新宏

#GRADLE_LOCAL_JAVA_HOME是一个新宏,可用于指定 JDK 路径。这使得指定用于项目的 Gradle 守护进程(后台进程)执行的 Java 主路径变得更安全、更轻松。路径选择存储在文件java.home的字段中.gradle/config.properties 。通过 Android Studio 中的 Gradle JDK 设置(文件或 Android Studio > 设置 > 构建、执行、部署 > 构建工具 > Gradle)设置此字段。

新项目将#GRADLE_LOCAL_JAVA_HOME默认使用。成功同步后,现有项目将自动迁移到新宏,除非您已经在使用#JAVA_HOME.

新宏的主要优点如下:

  • 您可以手动修改 JDK 路径来触发同步,而无需先打开项目。
  • 与不兼容的 Gradle 和项目 JDK 版本相关的错误更少,因为您的 Gradle JDK 选择只有单一的事实来源。

在 App Quality Insights 中分析 Android Vitals

App Quality Insights现在包含 Android Vitals数据,因此您可以更轻松地访问 Google Play 收集的核心指标并改善用户体验。使用 Android Vitals 解决与应用稳定性相关的问题,以帮助提高 Google Play 上应用的质量。

您可以通过App Quality Insights工具窗口查看 Android Vitals 问题、过滤它们以及从堆栈跟踪跳转到代码。首先,请按照下列步骤操作:

  1. 使用工具栏末尾的个人资料图标登录 Android Studio 中的开发者帐户 。
  2. 通过单击 Android Studio 中的工具窗口或单击View > Tool Windows > App Quality Insights打开App Quality Insights 。
  3. 单击App Quality Insights中的Android Vitals选项卡。

Android Vitals 和 Crashlytics 之间的数字不同

请注意,Android Vitals 和 Crashlytics 可能会报告与同一崩溃相关的用户数和事件数的不同值。出现这些差异的原因是 Play 和 Crashlytics 可以捕获不同时间和不同用户的崩溃情况。以下是 Play 和 Crashlytics 计数可能不同的几个原因:

  • Play 捕获启动时开始的崩溃,而 Crashlytics 捕获 Crashlytics SDK 初始化后发生的崩溃。
  • 如果用户在购买新手机时选择退出崩溃报告,则这些崩溃不会报告给 Play;然而,Crashlytics 根据应用程序自己的隐私政策捕获崩溃。

新的功率分析仪

从 Android Studio Hedgehog 开始,电源分析器会显示设备上的功耗。您可以在设备电源轨监视器 (ODPM) 中查看这些新数据。ODPM 通过称为Power Rails的子系统对数据进行分段。 有关受支持子系统的列表,请参阅可配置电源轨。

系统跟踪 记录并显示功耗数据。它是 CPU 分析器的一部分。此数据可帮助您直观地将设备的功耗与应用程序中发生的操作关联起来。Power Profiler 可以可视化这些数据。

要查看新 Power Profiler 中的数据,请在 Pixel 6+ 设备上进行系统跟踪:

  1. 选择视图 > 工具窗口 > 探查器
  2. 单击CPU 时间线中的任意位置以打开 CPU Profiler 并启动系统跟踪。

新的应用程序链接助手提供了应用程序中设置的深层链接的全面概述。助手显示应用程序 AndroidManifest.xml文件中的所有现有深层链接,验证这些深层链接的配置是否正确,并提供自动修复错误配置的快速方法。

要打开应用程序链接助手,请导航至Android Studio 中的“工具”>“应用程序链接助手”。有关应用程序链接的更多信息,请参阅 添加 Android 应用程序链接。

 

实时编辑更新了手动模式快捷方式

Android Studio Hedgehog 中的实时编辑包含手动模式的新快捷方式(手动推送):( Control+\适用Command+\于 macOS)。当您想要精确控制何时将更新部署到正在运行的应用程序时,手动模式非常有用。例如,如果您要对文件进行大规模更改,并且不希望任何中间状态反映在设备上。 您可以在实时编辑设置中或使用实时编辑 UI 指示器中选择“手动推送”和“保存时手动推送” 。有关更多信息,请参阅Jetpack Compose 实时编辑中的视频剪辑。

撰写多重预览模板

androidx.compose.ui:ui-tooling-preview1.6.0-alpha01+ 引入了新的 Multipreview API 模板:@PreviewScreenSizes@PreviewFontScales@PreviewLightDark@PreviewDynamicColors,因此只需一个注释,您就可以在常见场景中预览 Compose UI。

在 Android Studio Hedgehog 中,Compose Preview 中引入了一种新的 Gallery 模式,让您一次专注于一个预览并节省渲染资源。当您需要迭代应用程序的 UI 时,我们建议使用图库模式;当您需要查看 UI 变体时,我们建议您切换到其他模式(例如网格或列表)。

在调试器中编写状态信息

当 Compose UI 的某些部分意外重组时,有时很难理解原因。现在,在可组合函数上设置断点时, 调试器会列出可组合函数的参数及其状态,以便您可以更轻松地识别哪些更改可能导致重新组合。例如,当您在可组合项上暂停时,调试器可以准确地告诉您哪些参数已“更改”或保持“未更改”,以便您可以更有效地调查重组的原因。

设备镜像

您现在可以在 Android Studio 的“运行设备”窗口中镜像您的物理设备。通过将设备的显示直接传输到 Android Studio,您可以直接从 Studio IDE 执行常见操作,例如启动应用程序并与其交互、旋转屏幕、折叠和展开手机、更改音量等等。

当计算机连接的设备启用了 USB 或无线调试时,设备镜像始终可用。您可以使用“运行设备”窗口或 设备管理器“视图”>“工具窗口”>“设备管理器”)启动和停止镜像。您还可以在设置中自定义激活设备镜像的时间(设置 > 工具 > 设备镜像)。

注意:如果您使用的是搭载 Android 12 的某些设备,例如小米 Redmi K40、Poco F3 或 Mi 11X,则必须同时启用 USB调试和 USB 调试(安全设置)设置,然后重新启动设备以启用设备镜像。

 

已知的问题

某些设备可能无法以足以支持设备镜像的比特率进行编码。在这些情况下,您可能会在“运行设备”窗口中看到错误以及类似于如下所示的日志。

隐私声明

根据设备镜像设置,Android Studio 可以自动为任何已连接和配对的设备启动设备镜像。这可能会导致与该adb tcpip命令连接的设备的信息泄露,因为镜像信息和命令是通过非加密通道传递的。此外,Android Studio 使用非加密通道与 adb 服务器通信,因此镜像信息可能会被您主机上的其他用户拦截。

硬件输入转发

现在,您可以将工作站硬件输入(例如鼠标和键盘)透明转发到连接的物理和虚拟设备。要启用透明转发,请在“运行设备”窗口中单击 目标设备的硬件输入 。

直接从“运行设备”窗口管理设备

现在,您可以直接从“运行设备”窗口中单击 图标并选择设备来启动 Android 虚拟设备 (AVD),或开始镜像物理设备+。要停止物理设备的 AVD 或镜像,请关闭设备选项卡。

嵌入式布局检查器

从 Android Studio Hedgehog Canary 2 开始,您可以 直接在 “运行设备”工具窗口中运行布局检查器。此实验性功能可节省屏幕空间,并有助于在单个工具窗口中组织 UI 调试工作流程。在嵌入模式下,您可以显示视图层次结构、检查每个视图的属性以及访问其他常见的布局检查器功能。要访问完整的选项集,您仍然需要在独立窗口中运行布局检查器(Windows 上的 文件 > 设置 > 实验 > 布局检查器或Android Studio > 设置 > 实验 > macOS 上的布局检查器)。

嵌入式布局检查器的一个限制是 3D 模式仅在快照中可用 。

新的用户界面改进

Android Studio 的新 UI 为 Studio IDE 带来了更现代、更简洁的外观和感觉。到目前为止,我们已经听取了您的反馈,并修复了与 Android Studio Hedgehog 中以下功能相关的问题:

  • 紧凑模式
  • 支持垂直或水平分割
  • 适用于 macOS 的项目选项卡
  • 修复无干扰模式
  • 用于始终显示工具窗口操作的高级设置

SDK升级助手更新

SDK升级助手提供了分步向导流程来帮助您进行 targetSdkVersion 升级。以下是 Android Studio Hedgehog 中 SDK 升级助手的更新:

  • 查看升级到 Android 14 的重大更改
  • 添加了相关性过滤器,删除了一些不必要的步骤
  • 对于某些更改,准确指出代码中需要进行更改的位置

重要提示:从 2023 年 8 月 31 日开始,所有应用都必须面向 Android 13(API 级别 33)或更高版本,才能提交到 Google Play 进行审核并保持所有 Google Play 用户都可以发现。详细了解如何满足 Google Play 的目标 API 级别要求。

仅针对目标 API 级别禁用构建优化

您现在可以针对目标设备 API 级别禁用 IDE 优化。默认情况下,Android Studio 通过针对您要部署到的目标设备的 API 级别定制 dexing 流程来减少总体构建时间。要关闭此功能,请转至File > Settings > ExperimentalAndroid Studio > Settings > Experimental on macOS)并取消选中Optimize build for target device API level only。请注意,关闭此构建优化可能会增加构建时间。

[仅限 Windows] 最大限度地减少防病毒软件对构建速度的影响

构建分析器会通知您防病毒软件是否可能影响您的构建性能。如果防病毒软件(例如 Windows Defender)正在对 Gradle 使用的目录进行实时扫描,则可能会发生这种情况。构建分析器会建议从主动扫描中排除的目录列表,如果可能,它会提供将它们添加到 Windows Defender 文件夹排除列表中的链接。

不再支持 Eclipse Android 开发工具项目

Android Studio Hedgehog 及更高版本不支持导入 Eclipse ADT 项目。您仍然可以打开这些项目,但它们不再被识别为 Android 项目。如果您需要导入此类项目,您可以使用早期版本的 Android Studio。如果给定版本的 Android Studio 无法导入您的项目,您可以尝试使用更早的版本。使用早期版本的 Android Studio 将项目转换为 Android 项目后,您可以使用 AGP Upgrade Assistant 使用最新的 Android Studio 版本来处理该项目。

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

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

相关文章

python学习:opencv+用鼠标画矩形和圆形

目录 步骤 定义数据 新建一个窗口黑色画布 显示黑色画布 添加鼠标回调函数 循环 一直显示图片 一直判断有没有按下字母 m 关闭所有窗口 鼠标回调函数 步骤 当鼠标按下记录坐标并记录鼠标标记位为true,移动的时候就会不断的画矩形或者圆,松下的时候就再…

STM32F1中断NVIC

目录 1. 中断系统 2. 中断向量表 3. NVIC基本结构 4. NVIC优先级分组 5. NVIC程序编写 5.1 中断分组 5.2 中断结构体变量 5.3 中断通道选择 5.4 抢占优先级和响应优先级配置 6. 中断程序执行 1. 中断系统 中断:在主程序运行过程中&#xff0…

如何设计自动化测试脚本

企业中如何设计自动化测试脚本呢?今天我们就来为大家分享一些干货。 一、线性设计 线性脚本设计方式是以脚本的方式体现测试用例,是一种非结构化的编码方式,多数采用录制回放的方式,测试工程师通过录制回访的访问对被测系统进行…

基于JSDoc实现TypeScript类型安全的实践报告

在FEDay 2023中我讲了《从JS到TS无缝迁移的实践报告》【视频在这里在这里】,是将一个传统的JS项目(mochajs/mocha)迁移到TypeScript环境的全程。其中提到了一件事情,就是“可以通过JSDoc/TSDoc来生成.d.ts”,从而实现T…

mvc模式test2

关于上篇book.java中使用类型不一样导致的报错 是在bookdao.java中解决 bookservlet.java package servlet; import java.io.IOException; import beans.Book; import dao.BookDao; import java.util.ArrayList; import javax.servlet.ServletException; import javax.servl…

RabbitMQ的消息发送和接收机制

所有 MQ 产品从模型抽象上来说都是一样的过程: 消费者(consumer)订阅某个队列。生产者(producer)创建消息,然后发布到队列(queue)中,最后将消息发送到监听的消费者。 上…

C语言 - 字符函数和字符串函数

系列文章目录 文章目录 系列文章目录前言1. 字符分类函数islower 是能够判断参数部分的 c 是否是⼩写字⺟的。 通过返回值来说明是否是⼩写字⺟,如果是⼩写字⺟就返回⾮0的整数,如果不是⼩写字⺟,则返回0。 2. 字符转换函数3. strlen的使⽤和…

20、pytest中的参数化

官方实例 # content of test_expectation.pyimport pytestpytest.mark.parametrize("test_input, expected",[("35",8),("24",6),("6*9",42)]) def test_eval(test_input, expected):assert eval(test_input) expected# content of …

【UE】在场景中或控件蓝图上显示移动的文字

目录 效果 步骤 一、制作含有文字的图片 二、在场景中显示移动的文字 三、在控件蓝图上显示 效果 步骤 一、制作含有文字的图片 打开PS,新建一个宽度为600,高度为50的文档 添加一段文字 保存 二、在场景中显示移动的文字 1. 打开UE编辑器&#x…

nodejs+vue+微信小程序+python+PHP在线购票系统的设计与实现-计算机毕业设计推荐

伴随着信息时代的到来,以及不断发展起来的微电子技术,这些都为在线购票带来了很好的发展条件。同时,在线购票的范围不断增大,这就需要有一种既能使用又能使用的、便于使用的、便于使用的系统来对其进行管理。在目前这种大环境下&a…

高防IP是什么? 防护CC 对抗DDOS

什么是DDoS高防IP? DDoS(分布式拒绝服务)攻击是指攻击者通过利用大量恶意流量向目标服务器发送请求,导致目标服务器无法正常处理合法用户的请求。DDoS高防IP是一种通过技术手段来应对DDoS攻击的解决方案。它能够过滤掉恶意流量&a…

4、RocketMQ中Producer的启动(四)

在NameServer与Broker启动之后,我们就可以来创建Producer进行生产消息,客户端常用的生产类是DefaultMQProducer,我们启动消费者其实就是调用该类的start方法。 初始化逻辑 通过构建一起DefaultMQProducer类来实现初始化,查看源码…

15.(vue3.x+vite)组件间通信方式之默认插槽(匿名插槽)

前端技术社区总目录(订阅之前请先查看该博客) 示例效果 默认插槽(匿名插槽) 插槽 slot 通常用于两个父子组件之间,最常见的应用就是我们使用一些 UI 组件库中的弹窗组件时,弹窗组件的内容是可以让我们自定义的,这就是使用了插槽的原理。 (1)slot 是 Vue中的内置标签…

认识 Redis - Redis 的安装与下载

Redis 从今天开始,我们迎接一个全新的专栏 - Redis 专栏。 相信我们在日常的学习中,肯定也是对 Redis 早有耳闻,今天我们还是先来了解一下 Redis 是什么?以及 Redis 应该怎么使用?… 1. Redis 是什么? …

uni-app 微信小程序之swiper轮播图

1. 实现效果 2. 完成代码 <template><view class"components-home"><view style"margin-top:-50rpx;height: 486rpx; position: relative;margin-bottom: 80rpx;"><image srchttps://xxx.com/img/wccQQP.png modewidthFix classpng …

精密基准电路WL431 输出电压可设定 响应速度快 可应用于电脑主板等产品上

WL431为三端可调节精密基准源。通过两个外接电阻&#xff0c;输出电压可在Vref约2.5 V )到36V连续调节。该电路输出阻抗小(0.2Q)。 开启特性好&#xff0c;在许多应用场合&#xff0c;它能较好地替换齐纳极管。 主要特点&#xff1a;● 温度系数 50pmC ● 在…

unity 2d入门飞翔小鸟按钮点击功能且场景切换(二)

1、素材包获取 链接: https://pan.baidu.com/s/1KgCtQ_7wt2mlbGbIaMVvmw 提取码: xxh8 2、将素材全部拉进去 3、创建新的场景 并且将场景添加到build settings里面 4、脚本 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityE…

Vue阶段笔记(有js包)

目录 1.要先上传Vue的js包&#xff0c;包的路径在这&#xff1a; 2.获取 3.定义Vue接管的区域和他所要实现的内容 #整体代码如下&#xff1a; Vue的指令(被绑定得必须有声明) #v-bind #v-model #v-on #V-ifV-else-ifV-elseV-show #v-show #v-for 1.要先上传Vue的js包&…

WordPiece词表的创建

文章目录 一、简单介绍二、步骤流程2.1 预处理2.2 计数2.3 分割2.4 添加subword 三、代码实现 本篇内容主要介绍如何根据提供的文本内容创建 WordPiece vocabulary&#xff0c;代码来自谷歌&#xff1b; 一、简单介绍 wordpiece的目的是&#xff1a;通过考虑单词内部构造&…

FL Studio中如何录音的技巧,让你的声音更加出众哦!

​ Hey小伙伴们&#xff01;今天我要和大家分享一下在FL Studio中如何录音的技巧&#xff0c;让你的声音更加出众哦&#xff01; 编曲软件FL Studio 即“Fruity Loops Studio ”&#xff0c;也就是众所熟知的水果软件&#xff0c; 全能音乐制作环境或数字音频工作站&#xff0…