当前位置: 首页 > news >正文

Android Studio Giraffe | 2022.3.1

Android Gradle 插件和 Android Studio 兼容性

Android Studio 构建系统以 Gradle 为基础,并且 Android Gradle 插件 (AGP) 添加了几项专用于构建 Android 应用的功能。下表列出了各个 Android Studio 版本所需的 AGP 版本。

如果您的项目不受某个特定版本的 Android Studio 支持,您仍然可以使用旧版 Android Studio 打开和更新项目。

Android Studio 版本所需的 AGP 版本
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 Gradle 插件的新变化,请参阅 Android Gradle 插件版本说明。

补丁版本

以下是 Android Studio Giraffe 中的补丁版本列表。

Android Studio Giraffe | 2022.3.1 补丁 2(2023 年 9 月)

此项次要更新包含这些 bug 修复。

Android Studio Giraffe | 2022.3.1 补丁 1(2023 年 8 月)

此项次要更新包含这些 bug 修复。

支持的 Android API 级别上限

每个版本的 Android Studio 和 AGP 都有支持的 API 级别上限。如果项目所用 Android Studio 或 AGP 的 targetSdk 或 compileSdk 高于支持的最大值,则可能会导致意外问题。我们建议您使用最新的预览版 Android Studio 和 AGP 来处理以预览版 Android OS 为目标平台的项目。您可以安装 Android Studio 的预览版以及稳定版。

API 级别上限如下:

Android Studio 版本AGP 版本支持的 API 级别上限
Iguana | 2023.2.18.334
Hedgehog | 2023.1.18.234
Giraffe | 2022.3.18.133
Flamingo | 2022.2.18.033

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

使用实时编辑功能实时更新可组合项

借助实时编辑功能,您可以实时更新模拟器和实体设备中的可组合项。您可以修改可组合项,以及在正在运行的设备上查看界面更改,而不必重新部署应用。此功能可最大限度地减少编写应用与构建应用之间的上下文切换,从而减少中断,让您有更多时间专注于代码编写。如需试用实时编辑功能,请使用 AGP 8.1 或更高版本以及 Compose 1.3.0 或更高版本。

如需了解详情,请参阅“实时编辑”文档。

新界面预览

Android Studio Giraffe 支持 IntelliJ 的新界面主题。如需选择启用此选项,请依次点击 Android Studio > Settings > Appearance & Behavior

重新设计的主题旨在降低视觉复杂性,让用户更轻松地使用基本功能,并酌情显示复杂功能,从而打造现代、简洁的外观和风格。主要更改如下:

  • 简化了主工具栏,新增了 VCSProject 和 Run widget
  • 工具窗口采用了新的布局
  • 新增了一些浅色主题和深色主题,带有对比鲜明且色调一致的调色板
  • 新增了图标集,更易于辨识

如需查看完整的更改列表,请参阅关于 IntelliJ 中新界面的文档。

如果您想要针对 Android Studio 中的新界面提供反馈,请提交 bug。

新增了对 Compose 动画预览的 API 支持

除了 updateTransition 和 AnimatedVisibility 外,Compose 动画预览现在还支持 animate*AsState、CrossFade、rememberInfiniteTransition 和 AnimatedContent。如需将这些额外的 API 与 Compose 动画预览搭配使用,请升级到 Android Studio Giraffe Canary 3 和 Compose 1.4.0-alpha04 或更高版本。

 

支持 Grammatical Inflection API

Android Studio Giraffe Canary 7 引入了对 Grammatical Inflection API 的支持(从 Android 14 开发者预览版 1 开始提供)。

通过这项新功能,您可以根据用户的语法性别,视需要添加采用相应词形变化的翻译,从而为用户提供个性化界面。您可以针对语法上的阳性、阴性或中性添加相应翻译。如果未在语法层面为字符串提供任何采用相应词形变化的翻译,Android 会显示该语言的默认翻译。

在 Device Explorer 中查看和管理进程

Android Studio Giraffe 包含更新后的 Device Explorer(在以前的 Android Studio 版本中称为“设备文件浏览器”)。在 Device Explorer 中,文件及相关操作位于 Files 标签页。新的 Processs 标签页会列出已连接设备的可调试进程。您还可以从中选择一个进程并执行终止  或强行停止 操作,或将调试程序连接到给定进程 

注意:用于终止或强行停止调试程序或者将其连接到进程的选项已从 Logcat 移至 Device Explorer。

 

新增了 Android SDK 升级助理

从 Android Studio Giraffe 开始,您可以直接在 Studio IDE 中查看升级 targetSdkVersion 所需执行的步骤,或应用的目标 API 级别。Android SDK 升级助理会直接将文档拉取到工具窗口中,这样您就不必在浏览器和 IDE 之间来回切换。

Android SDK 升级助理可以帮助您在更新 targetSdkVersion 时节省时间和精力,具体如下:

  • 针对每个迁移步骤突出显示重大的破坏性更改以及对应的处理方式。
  • 对更改的完整列表进行过滤,使之仅显示与应用相关的步骤。

重要提示:自 2023 年 8 月 31 日起,所有应用都必须以 Android 12(API 级别 33)或更高版本为目标平台,才能送交 Google Play 审核,否则可能无法被某些 Google Play 用户发现。将应用的目标 API 级别配置为新近的 API 级别可确保用户享受到安全性和性能方面的改进,同时应用仍然可以在较低版本的 Android(低至指定的 minSdkVersion)上运行。如需了解详情,请参阅 Google Play 的目标 API 级别要求。

如需打开 Android SDK 升级助理,请依次点击 Tools > Android SDK Upgrade Assistant。在 Assistant 面板中,选择您想升级到的 API 级别,以获取相关指导。为获得最佳体验,您应将 targetSdkVersion 值一次升级一级。

为了便于我们为您打造最佳体验,请在此处提交反馈和 bug。

增强的诊断工具和 bug 报告功能

Android Studio Giraffe Canary 8 引入了新的诊断工具,可让您在报告 bug 时更轻松地附加相关日志文件。如需使用新的诊断报告生成器,请按以下步骤操作:

  1. 依次点击 Help > Collect Logs and Diagnostic Data 以启动该工具。系统会显示一个对话框,供您选择要添加的文件。
  2. 勾选或取消选中要在诊断报告中添加的特定文件。点击菜单中的特定文件可预览该文件。
  3. 当您准备好导出诊断报告时,同意接受对应条款,然后点击 Create
  4. 选择诊断报告 ZIP 文件的保存位置,然后点击 Save

作为此增强功能的一部分,我们还更新了 bug 报告模板(依次点击 Help > Submit feedback 即可打开),以强调附加日志文件的重要性。如果您提交 bug,请务必附加日志,因为此举有助于我们查明问题,同时也是调试过程中必不可少的第一步。

“Make Selected Modules”工具栏按钮

从 Android Studio Giraffe Canary 10 开始,您可以在工具栏中选择 Make Selected Modules 

 构建选项,只构建当前在使用的模块。通过这个新选项,您可以检查刚刚编写的代码能否在仅构建了必需内容的情况下进行编译。另外,您还可以点击构建按钮旁边的箭头,然后选择 Make Project,构建整个项目。

在同步期间下载信息

Sync 工具窗口现在包含下载依赖项所花费时间的摘要,以及每个仓库的下载详情视图。此视图会在同步时实时更新。您可以根据此信息来确定意外的依赖项下载是否对同步性能产生负面影响。由于 Gradle 会按声明的顺序搜索每个仓库来解析依赖项,因此请务必在仓库配置列表顶部列出托管大多数依赖项的仓库。此外,如果您发现某一特定仓库出现大量失败的请求,则可能表示该仓库应该从仓库配置中移除或移至更靠下位置。

注意:仅当项目使用 Gradle 7.3 或更高版本时,下载信息才可用。

在同步期间下载信息。

在构建过程中,您还可以通过 Build 工具窗口和 Build Analyzer 获得此下载信息。

 

相关文章:

Android Studio Giraffe | 2022.3.1

Android Gradle 插件和 Android Studio 兼容性 Android Studio 构建系统以 Gradle 为基础,并且 Android Gradle 插件 (AGP) 添加了几项专用于构建 Android 应用的功能。下表列出了各个 Android Studio 版本所需的 AGP 版本。 如果您的项目不受某个特定版本的 Andr…...

Spring Boot 3.0 已经就绪,您准备好了么?

Java 微服务开发框架王者 Spring 2014 年的 4 月,Spring Boot 1.0.0 正式发布。距离 1.0 版本的发布已经过去了 9 年多的时间,如今 Spring Boot 已经被 Java 开发者广泛使用,正如 JRebel 的 2022 年开发者生产力报告中提到的那样&#xff0c…...

5+非肿瘤分析,分型+WGCNA+机器学习筛选相关基因

今天给同学们分享一篇非肿瘤分型机器学习WGCNA实验的生信文章“Identification of diagnostic markers related to oxidative stress and inflammatory response in diabetic kidney disease by machine learning algorithms: Evidence from human transcriptomic data and mou…...

算法课作业2 OJ for Divide and Conquer

https://vjudge.net/contest/581947 A - Ultra-QuickSort 题意 每次给n个无序的数,互不重复,问最少需要多少次必要的交换操作使n个数有序。 思路 看一眼想到逆序数,然后验证了逆序数的个数符合样例,但想了一个3 2 1的话实际上…...

申请全国400电话的步骤及注意事项

导语:随着企业的发展,越来越多的公司开始意识到全国400电话的重要性。本文将介绍申请全国400电话的步骤及注意事项,帮助企业顺利办理相关手续。 一、了解全国400电话的概念和优势 全国400电话是一种统一的客服热线号码,以“400”…...

C++ 的设计模式之 工厂方法加单例

在下面的示例中&#xff0c;我将演示如何创建一个工厂类&#xff0c;该工厂类能够生成四个不同类型的单例对象&#xff0c;每个单例对象都通过单独的工厂方法进行创建。 #include <iostream> #include <mutex>// Singleton base class class Singleton { protecte…...

Deploy、Service与Ingress

Deployment 自愈 介绍:控制Pod&#xff0c;使Pod拥有多副本&#xff0c;自愈&#xff0c;扩缩容等能力 # 清除所有Pod&#xff0c;比较下面两个命令有何不同效果&#xff1f; kubectl run mynginx --imagenginxkubectl create deployment mytomcat --imagetomcat:8.5.68 # 自…...

定制化推送+精细化运营,Mobpush助力《迷你世界》用户留存率提升23%

随着智能设备的市场下沉&#xff0c;手游市场迎来了爆发式增长&#xff0c;《迷你世界》作为一款于2015年推出的手游&#xff0c;一经问世就饱受欢迎。上线短短三年&#xff0c;迷你世界在应用商店下载量已经高达2亿次&#xff0c;周下载量两千万&#xff0c;稳居第一名&#x…...

深度学习零基础教程

代码运行软件安装&#xff1a; anaconda:一个管理环境的软件–>https://blog.csdn.net/scorn_/article/details/106591160&#xff08;可选装&#xff09; pycharm&#xff1a;一个深度学习运行环境–>https://blog.csdn.net/scorn_/article/details/106591160&#xf…...

简单测试一下 展锐的 UDX710 性能

最近在接触 联通5G CPE VN007 &#xff0c;发现使用的是 展锐的Unisoc UDX710 CPU&#xff0c;正好简单的测试一下这颗CPU CPU信息 UDX710 是一颗 双核 ARM Cortex-A55 处理器&#xff0c;主频高达 1.35GHz processor : 0 BogoMIPS : 52.00 Features : fp…...

一百九十、Hive——Hive刷新分区MSCK REPAIR TABLE

一、目的 在用Flume采集Kafka中的数据直接写入Hive的ODS层静态分区表后&#xff0c;需要刷新表&#xff0c;才能导入分区和数据。原因很简单&#xff0c;就是Hive表缺乏分区的元数据 二、实施步骤 &#xff08;一&#xff09;问题——在Flume采集Kafka中的数据写入HDFS后&am…...

智慧公厕:探索未来城市环境卫生设施建设新标杆

智慧公厕是当代城市建设的一项重要举措&#xff0c;它集先进技术、人性化设计和智能管理于一体&#xff0c;为人们提供更为舒适、便捷和卫生的厕所环境。现代智慧公厕的功能异常丰富&#xff0c;从厕位监测到多媒体信息交互&#xff0c;从自动化清洁到环境调控&#xff0c;每一…...

高压放大器在无线电能中应用有哪些

高压放大器是一种用于放大电信号的放大器&#xff0c;可以将输入的低电压信号放大到更高的输出电压水平。在无线电通信和其他相关领域中&#xff0c;高压放大器具有广泛的应用。本文将详细介绍高压放大器在无线电能中的应用。 无线电发射&#xff1a;高压放大器在无线电发射中起…...

若依集成MybatisPlus

目录 一、依赖变更 1. MybatisPlus依赖 2. pagehelper依赖修改 二、相关配置 1. yml配置 1.1 注释掉原Mybatis配置 1.2 加入MybatisPlus的配置 1.3 注释掉原MybatisConfig.class 三、其他配置及功能实现 1. 自动补全create_time等信息 2. 实现MP分页 3. 实现Mybati…...

List小练习,实现添加图书,并且有序遍历

SuppressWarnings({"all"})public static void main(String[] args) {List list new LinkedList(); // List list new Vector(); // List list new ArrayList();list.add(new Book1("红楼小梦",35.5,"曹雪芹"));list.add(new B…...

代码随想录二刷 Day42

62.不同路径 简单题目自己就可以写出来&#xff0c;注意下创建二维vector的方法就可以&#xff0c; dp table如下 class Solution { public:int uniquePaths(int m, int n) {vector<vector<int>> dp(m,vector<int>(n,0));for (int i 0; i < n; i ) {dp[…...

【Android】Drawable 和src 的区别和理解

详细讲解 在 Android 中&#xff0c;ImageView 的 src 属性和 background 属性用于设置不同类型的图像内容。下面是它们的详细解释&#xff1a; src 属性&#xff1a;该属性用于设置 ImageView 中显示的图像内容。它可以接受一个图像资源的引用&#xff0c;可以是一个图片文件…...

Linux网络-UDP/TCP协议详解

Linux网络-UDP/TCP协议详解 2023/10/17 14:32:49 Linux网络-UDP/TCP协议详解 零、前言一、UDP协议二、TCP协议 1、应答机制2、序号机制3、超时重传机制4、连接管理机制 三次握手四次挥手5、理解CLOSE_WAIT状态6、理解TIME_WAIT状态7、流量控制8、滑动窗口 丢包问题9、拥塞控制…...

C语言从入门到高级

C语言是“编程语言之首”&#xff08;很多人学习的第一门编程语言&#xff09;&#xff0c;学好一门编程语言需要明确其学习路径&#xff0c;下面分享下我的学习路径&#xff0c;希望对您有所帮助。 一、C语言入门 &#xff08;1&#xff09;C语言概述 &#xff08;2&#x…...

【MultiOTP】在Linux上使用MultiOTP进行SSH登录

在前面的文章中【FreeRADIUS】使用FreeRADIUS进行SSH身份验证已经了解过如何通过Radius去来实现SSH和SUDO的登录&#xff0c;在接下来的文章中只是将密码从【LDAP PASSWORD Googlt OTP】改成了【MultiOTP】生成的passcode&#xff0c;不在需要密码&#xff0c;只需要OTP去登录…...

云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?

大家好&#xff0c;欢迎来到《云原生核心技术》系列的第七篇&#xff01; 在上一篇&#xff0c;我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在&#xff0c;我们就像一个拥有了一块崭新数字土地的农场主&#xff0c;是时…...

地震勘探——干扰波识别、井中地震时距曲线特点

目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波&#xff1a;可以用来解决所提出的地质任务的波&#xff1b;干扰波&#xff1a;所有妨碍辨认、追踪有效波的其他波。 地震勘探中&#xff0c;有效波和干扰波是相对的。例如&#xff0c;在反射波…...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试

作者&#xff1a;Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位&#xff1a;中南大学地球科学与信息物理学院论文标题&#xff1a;BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接&#xff1a;https://arxiv.…...

el-switch文字内置

el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

基础测试工具使用经验

背景 vtune&#xff0c;perf, nsight system等基础测试工具&#xff0c;都是用过的&#xff0c;但是没有记录&#xff0c;都逐渐忘了。所以写这篇博客总结记录一下&#xff0c;只要以后发现新的用法&#xff0c;就记得来编辑补充一下 perf 比较基础的用法&#xff1a; 先改这…...

苍穹外卖--缓存菜品

1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得&#xff0c;如果用户端访问量比较大&#xff0c;数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据&#xff0c;减少数据库查询操作。 缓存逻辑分析&#xff1a; ①每个分类下的菜品保持一份缓存数据…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战

在现代战争中&#xff0c;电磁频谱已成为继陆、海、空、天之后的 “第五维战场”&#xff0c;雷达作为电磁频谱领域的关键装备&#xff0c;其干扰与抗干扰能力的较量&#xff0c;直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器&#xff0c;凭借数字射…...

用docker来安装部署freeswitch记录

今天刚才测试一个callcenter的项目&#xff0c;所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...

使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度

文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...