Android Studio Hedgehog | 2023.1.1(刺猬)

2023-12-09 10:01

本文主要是介绍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 版本来处理该项目。

这篇关于Android Studio Hedgehog | 2023.1.1(刺猬)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/473385

相关文章

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo

Android平台播放RTSP流的几种方案探究(VLC VS ExoPlayer VS SmartPlayer)

技术背景 好多开发者需要遴选Android平台RTSP直播播放器的时候,不知道如何选的好,本文针对常用的方案,做个大概的说明: 1. 使用VLC for Android VLC Media Player(VLC多媒体播放器),最初命名为VideoLAN客户端,是VideoLAN品牌产品,是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影

如何在Visual Studio中调试.NET源码

今天偶然在看别人代码时,发现在他的代码里使用了Any判断List<T>是否为空。 我一般的做法是先判断是否为null,再判断Count。 看了一下Count的源码如下: 1 [__DynamicallyInvokable]2 public int Count3 {4 [__DynamicallyInvokable]5 get

android-opencv-jni

//------------------start opencv--------------------@Override public void onResume(){ super.onResume(); //通过OpenCV引擎服务加载并初始化OpenCV类库,所谓OpenCV引擎服务即是 //OpenCV_2.4.3.2_Manager_2.4_*.apk程序包,存

从状态管理到性能优化:全面解析 Android Compose

文章目录 引言一、Android Compose基本概念1.1 什么是Android Compose?1.2 Compose的优势1.3 如何在项目中使用Compose 二、Compose中的状态管理2.1 状态管理的重要性2.2 Compose中的状态和数据流2.3 使用State和MutableState处理状态2.4 通过ViewModel进行状态管理 三、Compose中的列表和滚动

沁恒CH32在MounRiver Studio上环境配置以及使用详细教程

目录 1.  RISC-V简介 2.  CPU架构现状 3.  MounRiver Studio软件下载 4.  MounRiver Studio软件安装 5.  MounRiver Studio软件介绍 6.  创建工程 7.  编译代码 1.  RISC-V简介         RISC就是精简指令集计算机(Reduced Instruction SetCom

Android 10.0 mtk平板camera2横屏预览旋转90度横屏拍照图片旋转90度功能实现

1.前言 在10.0的系统rom定制化开发中,在进行一些平板等默认横屏的设备开发的过程中,需要在进入camera2的 时候,默认预览图像也是需要横屏显示的,在上一篇已经实现了横屏预览功能,然后发现横屏预览后,拍照保存的图片 依然是竖屏的,所以说同样需要将图片也保存为横屏图标了,所以就需要看下mtk的camera2的相关横屏保存图片功能, 如何实现实现横屏保存图片功能 如图所示: 2.mtk

android应用中res目录说明

Android应用的res目录是一个特殊的项目,该项目里存放了Android应用所用的全部资源,包括图片、字符串、颜色、尺寸、样式等,类似于web开发中的public目录,js、css、image、style。。。。 Android按照约定,将不同的资源放在不同的文件夹中,这样可以方便的让AAPT(即Android Asset Packaging Tool , 在SDK的build-tools目

Android fill_parent、match_parent、wrap_content三者的作用及区别

这三个属性都是用来适应视图的水平或者垂直大小,以视图的内容或尺寸为基础的布局,比精确的指定视图的范围更加方便。 1、fill_parent 设置一个视图的布局为fill_parent将强制性的使视图扩展至它父元素的大小 2、match_parent 和fill_parent一样,从字面上的意思match_parent更贴切一些,于是从2.2开始,两个属性都可以使用,但2.3版本以后的建议使

Android Environment 获取的路径问题

1. 以获取 /System 路径为例 /*** Return root of the "system" partition holding the core Android OS.* Always present and mounted read-only.*/public static @NonNull File getRootDirectory() {return DIR_ANDR