本文翻译自官方博客:Android 15 is released to AOSP
发布者:Matthew McCullough – 产品管理副总裁、Android 开发者
今天,我们发布了 Android 15,并在Android 开源项目(AOSP)上提供源代码 。Android 15 将在未来几周内在受支持的 Pixel 设备上推出,并将在未来几个月内在三星、荣耀、iQOO、联想、摩托罗拉、Nothing、OnePlus、Oppo、realme、夏普、索尼、Tecno、vivo 和小米的精选设备上推出。
我们很自豪能够通过 AOSP 继续开展开源工作。开源允许任何人以 Android 为基础进行开发和贡献,从而打造出更加多样化和创新的设备。您可以利用Android Studio中的应用开发技能和Jetpack Compose来创建在整个生态系统中蓬勃发展的应用。您甚至可以查看源代码以更深入地了解 Android 的工作原理。
Android 15 延续了我们构建私密、安全平台的使命,帮助您提高工作效率,同时赋予您新功能来制作精美的应用程序、卓越的媒体和相机体验以及直观的用户体验,尤其是在平板电脑和可折叠设备上。
从今天开始,我们将启动一个名为“ Spotlight Weeks”的新教育系列,深入探讨 Android 的技术主题,从 Android 15 的内容开始。查看我们将在本周涵盖的内容,以及今天对边缘到边缘的深入探讨。
改善开发者体验
虽然我们为提高您的工作效率所做的大部分工作都围绕着Android Studio、Jetpack Compose和Android Jetpack库等工具展开,但每个新的 Android 平台版本都包含质量更新,以改善开发体验。例如,Android 15 为您提供了新的洞察和遥测功能,让您可以进一步调整应用体验,这样您就可以进行更改,以改善应用在任何平台版本的运行方式。
- ApplicationStartInfo API可帮助您深入了解应用启动,包括启动原因、启动阶段所花费的时间、启动温度等。
- Android Jetpack 中的Profiling类简化了Android 15 中新ProfilingManager API的使用,使您的应用可以请求堆配置文件、堆转储、堆栈样本或系统跟踪,从而能够以新的方式收集有关您的应用在用户设备上的运行情况的遥测数据。
- StorageStats.getAppBytesByDataType([type]) API为您提供了有关应用如何使用存储的新见解,包括 apk 文件拆分、提前 (AOT) 和加速相关代码、dex 元数据、库和引导配置文件。
- PdfRenderer API现在包含整合高级功能的功能,例如渲染受密码保护的文件、注释、表单编辑、搜索和带复制的选择。支持线性化 PDF 优化,以加快本地 PDF 查看速度并减少资源使用。Jetpack PDF 库使用这些 API 来简化向您的应用添加 PDF 查看功能的过程,并计划支持较旧的 Android 版本。
- 新添加的 OpenJDK API 包括对其他math / strictmath方法的支持、许多实用程序更新(包括序列集合/ map / set)、Deflater 中的 ByteBuffer 支持以及安全密钥更新。这些 API通过 Google Play 系统更新在运行 Android 12+ 至 Android 15 的十多亿台设备上进行了更新,因此您可以充分利用最新的编程功能。
- 新添加的 SQLite API 包括对只读延迟事务的支持、无需发出额外查询即可检索更改行数或最后插入的行 ID 的新方法,以及对原始 SQLite 语句的直接支持。
- Android 15 增加了新的 Canvas 绘图功能,包括Matrix44来帮助在 3D 中操作 Canvas,以及clipShader / clipOutShader,通过相交当前着色器或当前着色器的差异来实现复杂的形状。
改善排版和国际化
Android 可帮助您制作精美的应用程序,以适应全球多样化的 Android 生态系统。
- 您现在可以在 Android 15 中从可变字体创建FontFamily实例,而无需使用buildVariableFamily API 指定wght和ital轴;文本渲染器将自动调整wght和ital轴的值,以使显示的文本与兼容字体匹配。
- Android 15 中针对中文、日文和韩文 (CJK) 语言的字体文件NotoSansCJK现为可变字体,为创意排版开辟了新的可能性。
- Android 15默认捆绑了旧的日语平假名 (也称为 Hentaigana) 字体,有助于为设计增添独特的风格,同时保留对古代日语文献的更准确的传输和理解。
- Android 15 中的JUSTIFICATION_MODE_INTER_CHARACTER改进了使用空格进行分割的语言(例如中文和日语)的对齐方式。
相机和媒体改进
每个 Android 版本都可以帮助您为用户带来卓越的媒体和相机体验。
-
对于同时包含 HDR 和 SDR 内容的屏幕,Android 15 允许您使用 setDesiredHdrHeadroom
控制 HDR 余量,以防止 SDR 内容显得过于褪色。
-
对于包含响度元数据的 AAC 音频内容的应用,Android 15 支持智能调整音频响度和动态范围压缩级别,以便音频级别能够适应用户设备和周围环境。要启用此功能,请使用关联AudioTrack中的音频会话 ID实例化 LoudnessCodecController。
-
Android 15 中的低光增强功能 可在低光条件下调整预览流的曝光,从而实现增强的图像预览、在低光下扫描二维码等。
-
Android 15 将通用 MIDI 数据包支持扩展到虚拟 MIDI 应用程序,使得作曲应用程序能够将合成器应用程序作为虚拟 MIDI 2.0 设备进行控制,就像使用 USB MIDI 2.0 设备一样。
改善用户体验
我们不断改进每个版本的 Android 用户体验,同时努力提高性能和电池寿命。以下是 Android 15 为使体验更加直观、高效和易用而带来的一些改进。
- 用户可以保存自己喜欢的分屏应用组合以便快速访问,并将任务栏固定在屏幕上以在应用之间快速切换,从而在 Android 15 上实现更好的大屏幕多任务处理;确保您的应用具有自适应性比以往任何时候都更加重要。
- 当 Android 15 以 SDK 35 为目标时,它们默认以 edge-to-edge (边到边) 的方式显示应用。此外,系统栏将为透明或半透明,内容将默认绘制在后面。为确保您的应用已准备就绪,请查看 Compose 中的“使用插入处理重叠”(视图)或窗口插入。此外,许多 Material 3 可组合项可帮助您处理插入。
- Android 15 使TalkBack能够支持通过 USB 和安全蓝牙使用 HID 标准的盲文显示器,以帮助 Android 支持更广泛的盲文显示器。
- 在支持的 Android 15 设备上, NfcAdapter允许应用程序请求观察模式以及注册过滤器,在许多情况下实现跨多个支持 NFC 的应用程序的一键交易。
- 应用程序可以声明一个属性,以允许您的应用程序或活动显示在受支持的可翻转设备的小封面屏幕上。
- Android 15 大大增强了AutomaticZenRules,允许应用程序通过添加类型、图标、触发描述以及触发ZenDeviceEffects的能力来进一步自定义注意力管理(请勿打扰)规则。
- Android 15 现在包含对应用存档和取消存档的操作系统级支持。存档会移除 APK 和任何缓存文件,但会保留用户数据并通过LauncherApps API 将应用返回为可显示状态,原始安装程序可以根据取消存档的请求将其恢复。
- 作为我们改善电池寿命和多任务性能工作的一部分,Android 15 中的前台服务发生了变化,包括数据同步超时、新的媒体处理前台服务类型,以及从BOOT_COMPLETED启动前台服务的限制以及应用程序持有SYSTEM_ALERT_WINDOW权限时的限制。
- 从 Android 15 开始, 16 KB 页面大小支持将作为开发者选项在部分设备上提供。当 Android 使用这种较大的页面大小时,我们的初步测试显示,整体性能提升了 5-10%,同时占用了约 9% 的额外内存。
隐私和安全增强
隐私和安全是我们所做一切的核心,我们致力于在每次平台发布时做出有意义的改进,以保护您的应用和我们的用户。
- Android 15 中的Private Space (私人空间) 允许用户在其设备上创建一个单独的空间,通过额外的身份验证,他们可以将敏感应用远离窥探。某些类型的应用(例如医疗应用、启动器应用和应用商店)可能需要采取额外步骤才能在用户的私人空间中正常运行。
- Android 15 支持单击即可使用密钥登录,并支持将已保存的凭据自动填充到相关输入字段。
- Android 15 增加了对应用检测其是否正在被录制的支持,以便您在应用正在执行敏感操作时通知用户他们正在被录制。
- Android 15 添加了allowCrossUidActivitySwitchFromBelow属性,该属性可以阻止与堆栈顶部 UID 不匹配的应用启动活动,以帮助防止任务劫持攻击。
- 在 Android 15 中, PendingIntent创建者默认阻止后台活动启动,以帮助防止应用意外创建可能被恶意行为者滥用的PendingIntent。
准备好您的应用程序、库、工具和游戏引擎!
如果您开发 SDK、库、工具或游戏引擎,则应立即准备所有必要的更新,以防止下游应用和游戏开发者因兼容性问题而受阻,并允许他们使用最新的 SDK 功能。如果需要更新以全面支持 Android 15,请告知您的开发者。
测试您的应用需要使用 Google Play 或其他方式将您的正式版应用安装到搭载 Android 15 的设备或模拟器上。检查应用的所有流程并查找功能或 UI 问题。查看行为变更以集中测试。即使您尚未针对 Android 15 进行测试,也需要考虑以下几项变更:
- 软件包停止状态发生变化- Android 15 更新了软件包FLAG_STOPPED状态的行为,以使应用保持停止状态,直到用户启动或间接与应用交互。
- 支持 16KB 页面大小- 从 Android 15 开始,16 KB 页面大小支持将作为开发者选项在部分设备上提供。此外,Android Studio 还通过 SDK 管理器提供具有 16 KB 支持的模拟器系统映像。如果您的应用或库直接或间接通过库使用 NDK,您可以使用 QPR 测试版中的开发者选项或 Android 15 模拟器系统映像来测试和修复应用,为不久的将来具有 16 KB 页面大小的 Android 设备做好准备。
- 私人空间支持——测试您的应用程序/库在私人空间安装时是否正常工作;我们为医疗应用程序、启动器应用程序和应用商店提供指导。
- 删除了旧版表情符号字体文件- 自 Android 13 以来,某些 Android 15 设备(例如 Pixel)将不再包含位图 NotoColorEmojiLegacy.ttf 文件以实现兼容性,而只会有默认的矢量文件。
请在兼容性测试期间彻底测试您的应用所使用的库和 SDK。如果遇到任何问题,您可能需要更新到当前 SDK 版本或联系开发者寻求帮助。
发布与 Android 15 兼容的应用版本后,您可以开始更新应用的targetSdkVersion。
应用程序兼容性
我们致力于通过优先考虑应用兼容性来使每个平台版本的更新更快、更顺畅。在 Android 15 中,我们将大多数面向应用的更改设为可选,直到您的应用以 SDK 版本 35 为目标。这让您有更多时间进行任何必要的应用更改。
为了让您更轻松地测试可能影响您应用的可选更改,根据您的反馈,我们今年再次将许多更改设为可切换。通过切换,您可以从开发者选项或 adb 中单独强制启用或禁用更改。在此处查看如何执行此操作。
为了帮助您将应用迁移到目标 Android 15,最新的 Android Studio Koala Feature Drop 版本中的Android SDK 升级助手现在涵盖了 Android 15 API 更改,并引导您完成升级targetSdkVersion 的步骤。
开始使用 Android 15
如果您拥有受支持的 Pixel 设备,您将在 Android 15 公开更新可用时通过无线方式收到更新。如果您不想等待,您可以随时加入Android 15 QPR 测试版计划,获取最新的季度平台发布 (QPR) 测试版。
如果您已经在支持下一个 Android 版本的 Pixel 设备上加入了QPR 测试版计划,则您可能会有机会安装第一个 Android 15 QPR 测试版更新。如果您想退出测试版计划而不清除设备数据,请不要安装测试版,而是等待 Pixel 设备上发布发布版本更新。应用稳定版本更新后,只要不应用下一个测试版更新,您就可以选择退出而不清除数据。
敬请关注我们接下来五天的Android 15 聚焦周,我们将讨论诸如边缘到边缘、密码、前台服务更新、画中画等主题。请关注我们的博客、X、LinkedIn或YouTube频道。再次感谢所有参与我们 Android 开发者预览版和 Beta 版计划的人。我们期待看到您的应用如何利用 Android 15 中的更新。
如需完整信息,请访问Android 15 开发者网站。