Android 15 第一个开发者预览版-Android15的新变化

版本说明

发布日期2024 年 2 月 16 日
buildAP31.240119.016
模拟器支持x86(64 位)、ARM (v8-A)
安全补丁级别2024 年 2 月
Google Play 服务2015 年 2 月 24 日
API diffAPI 34 → V DP1

Android 15 将继续致力于构建一个平台,在帮助提高效率的同时为您提供新功能,让您能够打造卓越的媒体体验、最大限度减少对电池的影响、最大限度地提升应用顺畅性能,以及保护用户隐私和安全,所有这些设备阵容都非常多样化。

保护用户隐私和安全

Android 致力于打造能够最大限度地保障用户隐私和安全的解决方案。

Privacy Sandbox on Android

Android 15 将 Android 广告服务提升到扩展级别 10,在其中纳入了最新版本的 Privacy Sandbox on Android。我们致力于开发新技术来加强用户隐私保护,并为移动应用提供有效的个性化广告体验。我们的网站详细介绍了 Privacy Sandbox on Android 开发者预览版和 Beta 版计划,以帮助您开始使用。

Health Connect

Android 15 围绕 Health Connect by Android 集成了 Android 14 扩展程序 10。Health Connect by Android 是一个安全的集中式平台,用于管理和共享应用收集的健康与健身数据。此更新增加了对健身、营养等领域的新数据类型的支持。

文件完整性

Android 15 的 FileIntegrityManager 包含一些可让您利用 Linux 内核中 fs-verity 功能的强大功能的新 API。借助 fs-verity,您可以通过自定义加密签名保护文件,从而确保文件未被篡改或损坏。这有助于增强安全性,防范可能的恶意软件或未经授权的文件修改,这些修改可能会危害应用的功能或数据。

局部屏幕共享

Android 15 支持局部屏幕共享,因此用户可以仅分享或录制应用窗口,而不是整个设备屏幕。此功能在 Android 14 QPR2 中首次启用,包含 MediaProjection 回调,可让您的应用自定义局部屏幕共享体验。请注意,对于以 Android 14(API 级别 34)或更高版本为目标平台的应用,现在每个 MediaProjection 捕获会话需要征得用户同意。

支持创作者

Android 会持续努力,让开发者能够使用各种工具和硬件,从而支持创作者在 Android 上将他们的愿景变为现实。

应用内相机控件

Android 15 添加了一些新的扩展,以便在支持的设备上更好地控制相机硬件及其算法:

  • 弱光增强功能:可让开发者控制提高相机预览的亮度。
  • 高级闪光灯强度调整,用于在拍摄图像时精确控制 SINGLE 和 TORCH 模式下的闪光强度。
虚拟 MIDI 2.0 设备

Android 13 添加了对使用 USB 连接到 MIDI 2.0 设备的支持,USB 使用通用 MIDI 数据包 (UMP) 进行通信。Android 15 扩展了对虚拟 MIDI 应用的 UMP 支持,使合成器应用能够将合成器应用作为虚拟 MIDI 2.0 设备进行控制,就像控制 USB MIDI 2.0 设备一样。

性能和质量

Android 将继续专注于帮助您提升应用质量。 其中大部分侧重于工具和库,包括 Jetpack Compose、Android Studio 等。

动态性能

Android 15 继续投资开发 Android 动态性能框架 (ADPF),这是一组 API,可让游戏和性能密集型应用更直接地与 Android 设备的电源和散热系统进行互动。在受支持的设备上,Android 15 将添加新的 ADPF 功能:

  • 一种节能模式,用于提示会话,用于指明其关联的线程应该优先考虑节能而非性能,非常适合长时间运行的后台工作负载。
  • 可以在提示会话中报告 GPU 和 CPU 的运行时长,以便系统同时调整 CPU 和 GPU 频率以最好地满足工作负载需求。
  • 热余量阈值,用于根据余量预测来解释可能的热节流状态。

如需详细了解如何在应用和游戏中使用 ADPF,请参阅相关文档。

开发者工作效率

Android 15 继续添加 OpenJDK API,包括围绕 NIO 缓冲区、数据流、安全性等方面改进了生活质量。这些 API 通过 Google Play 系统更新在超过 10 亿台搭载 Android 12 及更高版本的设备上进行了更新,以便您能够针对最新的编程功能开发应用。

如何获取开发者预览版 1

您可在以下任何 Google Pixel 设备上安装此版本:

  • Pixel 6 和 Pixel 6 Pro
  • Pixel 6a
  • Pixel 7 和 Pixel 7 Pro
  • Pixel 7a
  • Pixel Fold
  • Pixel Tablet
  • Pixel 8 和 Pixel 8 Pro

如需详细了解如何开始使用此版本,请参阅获取 Android 15。

请务必先将您的 SDK 和 Android 模拟器一并更新,然后再试用最新功能和变更。要做到这一点,最好的方法是使用最新预览版 Android Studio 中的 SDK 管理器。

根据您的开发和测试需求,您还可以通过以下方式获取 Android 15:

  • 在 Android 模拟器上获取 Android 15

一般公告

请注意关于此版本的一般公告:

  • 此版本可能存在稳定性、电池或性能方面的问题。
  • 对于需要无障碍功能的用户,此版本可能不适合日常使用。
  • 在此版本中运行时,某些应用可能无法按预期运行。此限制包括 Google 应用和其他应用。
  • Android 15 开发者预览版 build 尚未经过兼容性测试套件 (CTS) 验证,但通过了初步测试,可为开发者提供一组稳定的预发布 API。依赖于经过 CTS 验证的 build 或使用 SafetyNet API 的应用可能无法在 Android 15 开发者预览版 build 中正常运行。

获取支持

当您使用开发者预览版进行开发和测试时,您可以使用两个主要支持渠道。您获取支持应使用的渠道具体取决于您在何处遇到问题。

  • 对设备特定问题、系统问题和 Google 应用问题的支持:使用问题跟踪器创建新问题,并查看和跟踪您和其他开发者提交的问题。

    在创建问题之前,请先查看本页列出的已知问题,并搜索待解决的主要问题和近期创建的问题列表,查看是否已有人报告过该问题。您可以通过点击为此问题加注星标  来订阅问题并为其投票。

    请参阅在何处报告问题页面,找出与您遇到的问题类型最相符的问题模板。

  • 对其他应用的问题的支持:请直接与应用开发者联系。

如需与其他使用 Android 15 开发者预览版的开发者讨论问题或交流想法,请加入 Reddit 上的 android_beta 社区

已知问题

根据我们的测试,您在使用 Android 15 开发者预览版 1 时可能会遇到以下问题。这些都是已知问题,因此无需针对类似问题提交其他报告。

Android 平台

  • 旁加载开发者预览版 1 build 的问题有时可能会导致设备在旁加载完成后显示“设备已损坏”消息。由于此问题可能会造成中断,因此我们暂时停用了 OTA 映像下载功能,直到我们能够进一步排查该问题为止。为了解决此问题,我们建议开发者刷写出厂映像以测试设备。
  • 为人脸解锁添加脸部模型时,预览屏幕似乎已被剪裁或剪裁。
  • 当应用窗口转换为画中画 (PiP) 模式时,如果设备在画中画过渡完成之前旋转了,画中画窗口会消失。
  • 当锁定的 SIM 卡插入已解锁的设备时,系统不会提示用户输入 PIN 码来解锁 SIM 卡。如需解决此问题,请手动锁定和解锁设备。

Android Studio 和工具

  • Android 15 预览版 API 级别 (VanillaIceCream) 不会显示在“Preview Configuration”窗口中。
  • 在某些情况下,在 Android Studio 中检查更新时,系统不会提供包含 Android 15 预览版 SDK 的最新版 Android SDK Build-Tools。
  • 在 Android Studio 中配置新项目时,Android 15 预览版 SDK 版本不会列在“目标 SDK 版本”和“最低 SDK 版本”下拉菜单中。
  • 有时,如果 AVD 以嵌入式模式启动,使用 Android 15 系统映像的 Android 虚拟设备 (AVD) 无法启动。
  • 如果使用 Android 15 系统映像的 Android 虚拟设备 (AVD) 启动,然后使用 adb reboot 或其他方法重新启动,则显示为离线。
  • Android 模拟器问题有时会阻止在 AVD 关闭后将应用重新部署到 Android 虚拟设备 (AVD)。
  • Android 模拟器问题会导致助听设备无障碍功能快捷方式启动多个设置应用窗口。
  • Android 模拟器的问题会导致在输入直接回复时通知窗口闪烁。
  • Android 模拟器的问题有时会导致应用中的身份验证流程失败,并显示“Google Play services keeps stopping”消息。
  • Android 模拟器问题会导致 Simpleperf 在运行 CPU 配置文件时崩溃。
  • Android 模拟器问题会导致系统语言设置中列出的语言显示错误的字符。
  • Android 模拟器存在的问题有时会导致二维码扫描器显示“出了点问题”消息,并且无法启动。
  • 在某些 Android 虚拟设备中,Android 二维码扫描器的取景器有时会被剪裁或调整为更小的尺寸。
  • Skia 与 Android 15 预览版 SDK 不兼容,因此无法在布局检查器中启用 3D 模式。
  • Android Studio 中的问题会导致设备管理器在使用 SDK 管理器添加或移除 SDK 平台后,暂时停止显示“缺少系统映像...”警告消息。
  • 在某些情况下,Android 模拟器存在的问题会导致无法加载 Google 探索信息流。

应用

  • 在尝试更新应用时,Google Play 商店有时会因 null 指针异常而崩溃。
  • Google TV 应用有时无法启动视频播放,而是显示“Play 影视暂时无法使用”消息。

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

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

相关文章

后端程序员入门react笔记(六)- 讲透Promise与Fetch

js声明变量的三种方式 我们通常使用 var let 和const来声明js的变量,但是这三者有什么区别呢? var的变量可以是全局的或者函数作用域,而let和const只能是块级作用域var和let可以重新赋值,而const是不允许重新赋值的,…

【王道数据结构】【chapter7查找】【P285t5】

线性表中各节点的检索概率不等时,可用如下策略提高顺序检索的效率;若找到指定的结点,则将该结点和其前驱结点(若存在)交换,使得经常被访问的结点尽量位于表的前端。试设计在顺序结构和链式结构的线性表盘上…

python中集合(Set)和列表(List)性能比较

文章目录 引言1. Set和List2. 性能对比3. 总结 引言 在当今的软件开发过程中,Python 已经成为了一种极为流行的编程语言,得益于其简洁的语法和强大的库支持。在 Python 中,列表(List)和集合(Set&#xff0…

敏捷开发中如何写好用户故事?

什么是用户故事? 用户故事(user story)是一个用来确认用户和用户需求的简短描述,作为什么用户,希望如何,这样做的目的或者价值何在。用户故事在软件研发中又被描述为需求。用户故事通常的格式为&#xff1…

【一】【计算机网络】win基本命令

检查自己的信息 以太网IPv4 地址就是本地计算机。 以太网适配器 VMware Network Adapter VMnet1的IPv4 地址不是本地计算机。局域网内其他的计算机。 C:\Users\205>ipconfigWindows IP 配置以太网适配器 以太网:连接特定的 DNS 后缀 . . . . . . . :本地链接 IPv6 地址. .…

【Android】切换系统全局语言设置

前两种为应用内部处理,第三种为发送广播由系统服务进行处理 使用反射 这种会直接将安卓设置内的语言列表清空,然后将选择的语言设置为系统语言 该方法存在问题,在首次开机后设置会导致国外应用进不去(只对于here地图个别版本) /*** 设置语言…

STL容器之list

​ 1.封装除了对数据的保护、更好地管理数据之外,还有实现了对上层的统一; ​ 2.类模板参数的不同,一方面是为了实例化出来不同的类,另一方面是为了实现类的成员函数的不同; 一、认识list ​ 1.list是一种带头双向循…

隐藏 IP 地址调用外部接口:探索与实践

目录 探索隐藏自己的 IP 调用别人的接口1. 使用代理服务器代码示例实际场景 2. 使用 VPN实际场景 3. 使用 Tor 匿名网络实际场景 结语 引言: 在网络开发中,有时我们需要调用外部接口来获取数据或执行某些操作。然而,有些情况下,我…

java高并发场景面试题,干货来袭

为什么阿里巴巴的持久层抛弃hibernate,采用MyBatis框架? 原因大概有以下4点: 尤其是需要处理大量数据或者大并发情况的网站服务,这也阿里选择MyBatis的原因。 MyBatis整体架构 不多讲,先看目录图 MyBatis源码笔记文档…

捕获在野SMBGhost本地提权攻击样本

前言 从Windows10 v1903/Windows Server v1903开始,微软在协议SMB3.1.1中开启了对数据压缩传输的支持,但是由于SMB没有正确处理压缩的数据包,在客户端/服务端解压数据的时候,没有对COMPRESSIN_TRANSFORM_HEADE结构进行安全校验&a…

【mysql 数据库事务】开启事务操作数据库,写入失败后,不回滚,会有问题么? 这里隐藏着大坑,复试,面试时可以镇住面试老师!!!!

建表字段: CREATE TABLE user (id INT(11) NOT NULL AUTO_INCREMENT,nickname VARCHAR(32) NOT NULL COLLATE utf8mb4_general_ci,email VARCHAR(32) NOT NULL COLLATE utf8mb4_general_ci,status SMALLINT(6) UNSIGNED NULL DEFAULT NULL,password VARCHAR(256) NULL DEFAULT…

QT两个类之间使用信号槽

在做一些东西的时候&#xff0c;习惯性的引入头文件并且调用&#xff0c;因此出现了很多bug,qt的信号槽机制便可以有效的避免一些问题。 A类 #ifndef A_H #define A_H#include <QObject> #include <QDebug> class A : public QObject {Q_OBJECT public:explicit A…

Netty入门指南:从零开始的异步网络通信

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 Netty入门指南&#xff1a;从零开始的异步网络通信 前言Netty简介由来&#xff1a;发展历程&#xff1a;异步、事件驱动的编程模型&#xff1a; 核心组件解析通信协议高性能特性异步编程范式性能优化与…

C++ stack queue详解以及模拟实现

目录 1.stack的使用 1.1stack的定义 1.2stack的使用 1.3stack的构造 2.stack底层模拟实现 3.queue的使用 3.1queue的定义 3.2queue的使用 4.queue底层模拟实现 1.stack的使用 1.1stack的定义 1. stack是一种容器适配器&#xff0c;专门用在具有后进先出操作的上下文环…

vue3-(jeecgBoot) 本地图片展示,部署后加载失败解决

开始使用的方法如下&#xff1a; <img class"alarm" :src"/assets/images/icon-alarm-default.png"/>结果是本地运行测试可以正常显示&#xff0c;部署发布后就不显示了 解决方案**&#xff1a; 图片地址配置为变量 import defImg from ‘//assets…

关于 cocos creator 如何打包抖音字节小游戏步骤一

1、cocos creator打开引擎&#xff0c;在顶部选择构建之后&#xff0c;在选择点击构建(ps:具体看项目组的大小&#xff0c;如果是一个简单的不多资源一般不到一分钟&#xff0c;如果项目很大&#xff0c;就至少半个小时以上)&#xff0c;之后 成功构建之后如下所示&#xff1a;…

修改Qt生成iOS应用的原生底层,编译QtBase下的ios子模块

1.下载Qt源码 2.找到ios.pro子工程 3.使用QtCreaor12打开ios.pro工程 4.出现工程下只有一个.pro文件解决 复制修改好的toolchain.prf文件进行替换. 修改方法:

分布式调度平台XXL-JOB

相对来说&#xff0c;xxl-job中心式的调度平台轻量级&#xff0c;开箱即用&#xff0c;操作简易&#xff0c;上手快&#xff0c;与SpringBoot有非常好的集成&#xff0c;而且监控界面就集成在调度中心&#xff0c;界面又简洁&#xff0c;对于企业维护起来成本不高&#xff0c;还…

论文阅读-CheckFreq:频繁、精细的DNN检查点操作。

论文名称&#xff1a;CheckFreq: Frequent, Fine-Grained DNN Checkpointing. 摘要 训练深度神经网络(DNNs)是一项资源密集且耗时的任务。在训练过程中&#xff0c;模型在GPU上进行计算&#xff0c;重复地学习权重&#xff0c;持续多个epoch。学习到的权重存在GPU内存中&…

网站三合一缩略图片介绍展示源码

网站三合一缩略图片介绍展示源码&#xff0c;PHP源码&#xff0c;运行需要php环境支持&#xff0c;效果截图如下 蓝奏云下载&#xff1a;https://wfr.lanzout.com/ihY8y1pgim6j