作者 / Dave Burke, VP of Engineering
推进完善 Android 13 的功能和稳定性。Android 13 围绕我们的核心主题打造,即隐私和安全、开发者生产力,以及支持平板电脑和大屏幕设备。今天,我们进入到发布周期的下一个阶段,为大家带来 Android 13 的第一个 Beta 版。
对于开发者来说,Android 13 有很多值得探索的地方,从新的通知权限和照片选择器等隐私功能,到帮助您构建良好体验的 API (如主题应用图标、将磁贴添加至快速设置和单个应用语言偏好),以及蓝牙低功耗 (LE) 音频和通过 USB 连接 MIDI 2.0 硬件等功能。在 Beta 1 中我们也带来了许多改进,比如增加了新的权限,让您可以更精细地访问媒体文件,以及改进了音频路由 API,等等。我们将在 5 月 11 日至 12 日举行的 Google I/O 大会上分享更多信息,届时请务必收看!
Google I/O
https://io.google/2022/
https://developer.android.google.cn/about/versions/13
反馈与需求
https://developer.android.google.cn/about/versions/13/feedback
开始体验 Android 13 Beta
https://www.google.com/android/beta
在 Google Pixel 设备上获取 Android 13
https://developer.android.google.cn/about/versions/13/get#on_pixel
设置 Android 模拟器
https://developer.android.google.cn/about/versions/13/get#on_emulator
Beta 1 更新内容一览
我们继续聚焦隐私和安全,同时带来了新的 API,帮助您为用户构建良好的体验。Beta 1 包含我们之前公布的功能的最新更新,如新的通知权限、照片选择器、主题应用图标、改进的本地化和语言支持等。Beta 1 还引入了一些新功能,欢迎大家试用并和我们分享您的想法!
为媒体文件访问提供更细化的权限 - 以前,当一个应用想要读取本地存储中的共享媒体文件时,它需要申请 READ_EXTERNAL_STORAGE 权限,该权限允许访问所有类型的媒体文件。为了给用户带来更多的透明度和控制权,我们将引入一套新的权限,为访问共享媒体文件提供更细化的范围选择。
有了新的权限之后,应用现在可以请求访问共享存储中特定类型的文件:
https://developer.android.google.cn/reference/android/Manifest.permission#READ_MEDIA_AUDIO
用户授予该权限后,应用将拥有对相应媒体文件类型的读取权限。为简化用户体验,如果应用同时请求 READ_MEDIA_IMAGES 和 READ_MEDIA_VIDEO 权限,系统会只显示一个对话框来授予这些权限。如果您的应用需要访问共享媒体文件,请在应用以 Android 13 为目标平台时迁移至这些新权限。请访问官方文档了解详细信息:
改进 Keystore 和 KeyMint 错误报告 - 针对生成密钥的应用,Keystore 和 KeyMint 现在提供更详细准确的错误指示。我们在 java.security.ProviderException 下添加了一个异常类层级,其中包含了 Android 特有的异常,包括 Keystore/KeyMint 错误代码,以及错误是否可以重试。您也可以修改密钥生成、签名和加密的方法来抛出新的异常。改进后的错误报告可以向您提供重试密钥生成所需要的相关信息。
预见性音频路由 - 为了帮助媒体应用确定其音频的路由方式,我们在 AudioManager 类中增加了新的音频路由 API。新的 getAudioDevicesForAttributes() API 允许您检索可能用于播放指定音频的设备列表,我们还增加了 getDirectProfilesForAttributes() API 来帮助您了解音频流是否可以直接播放。您可以使用这些新的 API 来为您的音轨选用最合适的 AudioFormat。
AudioManager
https://developer.android.google.cn/reference/android/media/AudioManager
getAudioDevicesForAttributes()
https://developer.android.google.cn/reference/android/media/AudioManager#getAudioDevicesForAttributes(android.media.AudioAttributes)
getDirectProfilesForAttributes()
https://developer.android.google.cn/reference/android/media/AudioManager#getDirectProfilesForAttributes(android.media.AudioAttributes)
AudioFormat
https://developer.android.google.cn/reference/android/media/AudioFormat
应用兼容性
如果您还没有测试应用与 Android 13 的兼容性,现在是时候开始测试了!随着 Android 13 进入 Beta 版本,我们已经开放早期体验用户和开发者进行体验。这意味着,在未来几周您将看到更多用户在 Android 13 上体验您的应用,并提交他们发现的问题。
要进行兼容性测试,请在运行 Android 13 Beta 版的设备或模拟器上,通过 Google Play 或其他来源安装您的正式版应用,并测试应用的所有流程。请通过行为变更清单来确定测试重点。在解决所有发现的问题后,请尽快发布更新版本。
随着 Beta 版的发布,我们越来越接近 2022 年 6 月的平台稳定性里程碑。届时,面向应用的系统行为、SDK/NDK API 和非 SDK 列表将最终确定。您将可以完成最后的兼容性测试,并发布完全兼容的应用、SDK 或开发库。发布时间表详见:
https://developer.android.google.cn/preview/overview
即刻开始体验 Android 13
https://developer.android.google.cn/13
您可以通过下方二维码向我们提交反馈,或分享您喜欢的内容、发现的问题。您的反馈对我们非常重要,感谢您的支持!
推荐阅读