0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

平台稳定性里程碑 | Android 14 Beta 3 发布

谷歌开发者 来源:未知 2023-06-13 17:40 次阅读
作者 / Dave Burke, VP of Engineering

随着今天 Android 14 Beta 3 的发布,我们随之进入到 Android 开发周期的下一个阶段。Beta 3 依旧围绕着我们的核心主题打造,即隐私、安全、性能、开发者生产力和用户定制,同时继续完善平板电脑、可折叠设备等大屏设备上的体验。

bc9029d6-09cd-11ee-962d-dac502259ad0.png  

Beta 3 也让 Android 14 抵达平台稳定性里程碑,这意味着开发者 API 和所有面向应用的行为都已最终确定,供大家评估和整合进自己的应用。感谢大家这一路上向我们分享的宝贵意见和反馈,是大家帮助我们顺利抵达这一里程碑。

  • 平台稳定性里程碑

    https://developer.android.google.cn/about/versions/14/overview#platform_stability

Android 14 有很多值得您在自己的应用中尝试和探索的内容。今天的 Beta 3 同样如此,我们会在本文中着重强调新的无障碍功能 (如非线性字体放大)、隐私功能更新 (包括照片/视频的部分访问)、新的手势导航动画,以及与 OpenJDK 17 LTS 版本进一步对齐的功能

  • 非线性字体放大

    https://developer.android.google.cn/about/versions/14/features#non-linear-font-scaling

  • 授予对照片和视频的部分访问权限

    https://developer.android.google.cn/about/versions/14/changes/partial-photo-video-access

  • 支持内置和定制预测性返回动画

    https://developer.android.google.cn/about/versions/14/features/predictive-back

  • OpenJDK 17 更新

    https://developer.android.google.cn/about/versions/14/features#core

平台稳定性里程碑

随着 Beta 3 和平台稳定性里程碑的到来,您可以放心地开发和发布必要的兼容性更新。请即刻开始进行最终兼容性测试,并准备发布必要的更新,从而在剩下的 Beta 测试期内获得宝贵的反馈。这些工作都有助于您在今年晚些时候 Android 14 正式发布之前就打造出流畅的应用体验。

bca41752-09cd-11ee-962d-dac502259ad0.png

  • 平台稳定性里程碑

    https://developer.android.google.cn/about/versions/14/overview#platform_stability

如果您是 SDK、开发库、工具和游戏引擎的开发者,立刻开始测试并尽快发布兼容性更新则更为重要: 在获得来自您的更新之前,您的下游应用和游戏开发者的工作可能会因兼容性问题而受阻。因此,请务必在发布了兼容更新后告知您的下游开发者们!

应用兼容性

随着 Android 每个版本的发布,我们都会对平台进行整体的改进,以强化隐私和安全,并优化整个操作系统的用户体验。这些都可能会影响到您的应用。要测试应用的兼容性,只需在运行 Android 14 Beta 3 的设备上,通过 Google Play 或其他来源安装您的正式版应用即可。请测试应用的所有流程,找出功能或用户界面中暴露的问题。请通过行为变更清单 (针对所有应用) 来确定测试重点:https://developer.android.google.cn/about/versions/14/behavior-changes-all 这里列出一些需要注意的变更:

非线性字体放大

从 Android 14 开始,系统默认支持字体放大至 200%。这项变更为弱视用户提供了符合网络内容无障碍指南 (WCAG) 的更丰富的无障碍功能选项。请在启用最大文字尺寸 (200%) 的条件下进行用户界面测试,以确保您的应用能适应更大的文字尺寸且不影响可用性。为了更好地适配此功能,也请确保您在 ConfigurationDisplayMetrics 中没有硬编码计算 sp,以及通过 TypedValueapplyDimension()deriveDimension() 在 sp 和 px 之间进行转换。

  • 非线性字体放大

    https://developer.android.google.cn/about/versions/14/behavior-changes-all#non-linear-font-scaling

  • 网络内容无障碍指南 (WCAG)

    https://www.w3.org/TR/UNDERSTANDING-WCAG20/visual-audio-contrast-scale.html

  • 使用非线性字体放大测试应用

    https://developer.android.google.cn/about/versions/14/features#test-scaling

  • Configuration

    https://developer.android.google.cn/reference/android/content/res/Configuration

  • DisplayMetrics

    https://developer.android.google.cn/reference/android/util/DisplayMetrics

  • TypedValue

    https://developer.android.google.cn/reference/android/util/TypedValue

  • applyDimension()

    https://developer.android.google.cn/reference/android/util/TypedValue#applyDimension(int,%20float,%20android.util.DisplayMetrics)

  • deriveDimension()

    https://developer.android.google.cn/reference/android/util/TypedValue#deriveDimension(int,%20float,%20android.util.DisplayMetrics)

对照片和视频授予部分访问权限

当您的应用请求任意视觉媒体权限 (READ_MEDIA_IMAGESREAD_MEDIA_VIDEO,于 Android 13,API 33 中引入) 时,用户可以仅授予对媒体库的部分访问权限。当您的应用切换至后台,或当用户主动杀掉您的应用时,系统会将这些部分访问权限做为单次授权处理,继而最终关闭这些权限。如果您的应用有遵守此类授权的最佳实践,此项变更不会造成影响。Android 14 引入了 READ_MEDIA_VISUAL_USER_SELECTED 权限来帮助应用更好地支持这些变更。我们建议您考虑使用照片选择器来为用户提供安全的方式让应用指定访问某些照片和视频,这样无需申请权限,体验也更流畅。
  • READ_MEDIA_IMAGES

    https://developer.android.google.cn/reference/android/Manifest.permission#READ_MEDIA_IMAGES

  • READ_MEDIA_VIDEO

    https://developer.android.google.cn/reference/android/Manifest.permission#READ_MEDIA_VIDEO

  • 对照片和视频授予部分访问权限

    https://developer.android.google.cn/about/versions/14/changes/partial-photo-video-access

  • 最佳实践

    https://developer.android.google.cn/about/versions/14/changes/partial-photo-video-access#best-practices

  • READ_MEDIA_VISUAL_USER_SELECTED

    https://developer.android.google.cn/reference/android/Manifest.permission#READ_MEDIA_VISUAL_USER_SELECTED

  • 照片选择器

    https://developer.android.google.cn/training/data-storage/shared/photopicker

数据安全信息更加凸显

为了更好地保护用户隐私,Android 14 在系统中增加了一些位置来展示您在 Play 管理中心的表单中声明的信息。对于某些权限,我们在系统运行时权限对话框中加入了一个可点击的部分,用来进一步展示应用的数据共享情况。系统对话框的这一部分会展示诸如为什么您的应用需要和第三方共享数据等信息,以及为用户提供跳转链接,用来管理您应用的数据访问设置。我们建议您审查自己应用的位置数据共享政策,并相应地更新应用在 Google Play 数据安全部分中声明的信息。
  • 更加凸显数据安全信息

    https://developer.android.google.cn/about/versions/14/changes/data-safety

  • 为 Google Play 的数据安全部分提供信息

    https://support.google.com/googleplay/android-developer/answer/10787469

请通过行为变更清单了解所有可能会影响您的应用或游戏兼容性的变更。如果您发现应用的开发库或 SDK 存在兼容性问题,请更新它们至最新版本,或联系其开发者寻求帮助。

  • 行为变更 (所有应用)

    https://developer.android.google.cn/about/versions/14/behavior-changes-all

一旦您发布了当前应用的兼容版本,就可以开始更新应用的 targetSdkVersion。请查阅行为变更清单 (针对以Android 14 为目标平台的应用) 并使用兼容性框架工具来快速检测问题。

  • 更新应用的目标平台并使用新 API 进行构建

    https://developer.android.google.cn/preview/migration#setup_sdk

  • 符合 Google Play 的目标 API 级别要求

    https://developer.android.google.cn/distribute/best-practices/develop/target-sdk

  • 行为变更 (以 Android 14 或更高版本为目标平台的应用)

    https://developer.android.google.cn/about/versions/14/behavior-changes-14

  • 兼容性框架工具

    https://developer.android.google.cn/guide/app-compatibility/test-debug

下面列出一些需要注意的变更 (适用于 targetSdkVersion 为 API 34 或更高的应用):

必须提供前台服务类型

如果您的应用以 Android 14 为目标平台,则您必须为应用中的每个前台服务指定至少一个前台服务类型。请务必选择能代表应用实际用例的前台服务类型。系统会检查您是否选择了正确的前台服务类型,以及应用是否正确请求运行时权限或使用所需的 API。比如,如果应用的前台服务类型是 FOREGROUND_SERVICE_TYPE_LOCATION,则系统会认为其需要申请 ACCESS_COARSE_LOCATIONACCESS_FINE_LOCATION 权限。Android 14 为健康远程消息传递场景新增了对应的前台服务类型,而且也为短期服务特殊用途系统豁免保留了新的类型。如果您应用中的某个场景和这些类型都不匹配,我们强烈建议您将这部分逻辑迁移至使用 WorkManager用户发起的数据传输作业

  • 前台服务

    https://developer.android.google.cn/guide/components/foreground-services

  • 前台服务类型是必填项

    https://developer.android.google.cn/about/versions/14/changes/fgs-types-required

  • FOREGROUND_SERVICE_TYPE_LOCATION

    https://developer.android.google.cn/reference/android/content/pm/ServiceInfo#FOREGROUND_SERVICE_TYPE_LOCATION

  • ACCESS_COARSE_LOCATION

    https://developer.android.google.cn/reference/android/Manifest.permission#ACCESS_COARSE_LOCATION

  • ACCESS_FINE_LOCATION

    https://developer.android.google.cn/reference/android/Manifest.permission#ACCESS_FINE_LOCATION

  • 健康

    https://developer.android.google.cn/about/versions/14/changes/fgs-types-required#health

  • 远程消息传递

    https://developer.android.google.cn/about/versions/14/changes/fgs-types-required#remote-messaging

  • 短期服务

    https://developer.android.google.cn/about/versions/14/changes/fgs-types-required#short-service

  • 特殊用途

    https://developer.android.google.cn/about/versions/14/changes/fgs-types-required#special-use

  • 系统豁免

    https://developer.android.google.cn/about/versions/14/changes/fgs-types-required#system-exempted

  • 使用 WorkManager 调度任务

    https://developer.android.google.cn/topic/libraries/architecture/workmanager

  • 用户发起的数据传输作业

    https://developer.android.google.cn/about/versions/14/changes/user-initiated-data-transfers

OpenJDK 17 更新

Android 14 的一些变更旨在让核心库最新的 OpenJDK LTS 版本功能对齐,这些变更可能会影响到您应用的兼容性,包括正则表达式、UUID 处理、涉及到 ProGuard 的问题,以及增加的 java.lang.ClassValue
  • OpenJDK 17 更新

    https://developer.android.google.cn/about/versions/14/behavior-changes-14#core-libraries

  • java.lang.ClassValue

    https://developer.android.google.cn/reference/java/lang/ClassValue

安全变更

以 Android 14 为目标平台的应用不能再向内部组件发送特定的隐式 Intent。运行时注册的广播接收器必须指定导出行为,除非它们只接收系统广播。动态加载的代码文件必须被标记为只读。如果 zip 文件名包含 ".."或以 "/"开头,则 ZipFile(String)ZipInputStream.getNextEntry() 会抛出 ZipException 异常,以避免触发压缩路径遍历漏洞。从后台启动 Activity 现在有了额外的限制,对调用非 SDK 接口也有了更新的限制。

  • 安全变更

    https://developer.android.google.cn/about/versions/14/behavior-changes-14#security

  • 对隐式 intent 和待处理 intent 的限制

    https://developer.android.google.cn/about/versions/14/behavior-changes-14#safer-intents

  • 在运行时注册的广播接收器必须指定导出行为

    https://developer.android.google.cn/about/versions/14/behavior-changes-14#runtime-receivers-exported

  • 仅接收系统广播的接收器的例外情况

    https://developer.android.google.cn/about/versions/14/behavior-changes-14#system-broadcasts

  • 更安全的动态代码加载

    https://developer.android.google.cn/about/versions/14/behavior-changes-14#safer-dynamic-code-loading

  • ZipFile(String)

    https://developer.android.google.cn/reference/java/util/zip/ZipFile#public-constructors

  • ZipInputStream.getNextEntry()

    https://developer.android.google.cn/reference/java/util/zip/ZipInputStream#getNextEntry%28%29

  • ZipException

    https://developer.android.google.cn/reference/java/util/zip/ZipException

  • 压缩路径遍历

    https://developer.android.google.cn/about/versions/14/behavior-changes-14#zip-path-traversal

  • 针对从后台启动 Activity 的其他限制

    https://developer.android.google.cn/about/versions/14/behavior-changes-14#background-activity-restrictions

  • 更新后的非 SDK 限制

    https://developer.android.google.cn/about/versions/14/behavior-changes-14#non-sdk-restrictions

即刻体验 Android 14

不论您是想体验 Android 14 的功能、测试应用还是提交反馈,都可以从这次的 Beta 3 开始。您还可以使用我们合作伙伴的设备来测试应用在平板电脑和可折叠设备上的表现,不过最简单的方法还是使用 Android Studio SDK 管理器最新预览版中安装了 64 位系统映像的 Android 模拟器中的 Pixel Tablet 或 Pixel Fold 配置进行测试。您还可以直接使用支持的 Pixel 设备 (包括最新的 Pixel 7a) 参与测试,并通过 OTA 方式获得本次以及将来的 Android 14 Beta 版 (包括功能更新)。

  • 反馈与需求

    https://developer.android.google.cn/about/versions/14/feedback

  • 安装 SDK

    https://developer.android.google.cn/about/versions/14/setup-sdk#install-sdk

  • 参与 Beta 版测试

    https://www.google.com/android/beta

为了获得最佳的 Android 14 开发体验,我们建议您使用 Android Studio Hedgehog 的最新版本。

  • Android Studio Hedgehog

    https://developer.android.google.cn/studio/preview

设置好 SDK 后,您可以:
  • 体验新功能和 API - 欢迎大家继续在我们的跟踪页报告问题。
  • 测试应用的兼容性 - 测试您的应用是否受到 Android 14 默认行为变更的影响。请将应用安装到运行 Android 14 的设备或模拟器上进行彻底的测试。
  • 使用可选变更项测试应用 - Android 14 提供了可选的行为变更,这些变更仅在您的应用以新平台为目标时才会造成影响。尽早了解和评估这些变更十分重要。为了便于测试,您可以单独启用或者禁用这些变更
  • 设置 Android 14 SDK

    https://developer.android.google.cn/about/versions/14/setup-sdk

  • 兼容性框架变更 (Android 14)

    https://developer.android.google.cn/about/versions/14/reference/compat-framework-changes

我们将在整个 Android 14 的发布周期内定期更新 Beta 版系统映像。 如果您已经参加了 Android 14 Beta 版测试,且您的设备支持的话,您会通过 OTA 更新直接获得本次的 Beta 3,无需额外操作:

https://www.google.com/android/beta

请访问 Android 14 开发者网站了解如何获取 Beta 版等详细信息:

https://developer.android.google.cn/about/versions/14

* Java 和 OpenJDK 是 Oracle 和/或其附属公司的商标或注册商标。

bccae77e-09cd-11ee-962d-dac502259ad0.gif 点击屏末||进一步了解 Android 14 详细更新

bcd84680-09cd-11ee-962d-dac502259ad0.png

bce7dea6-09cd-11ee-962d-dac502259ad0.png

bd095ec8-09cd-11ee-962d-dac502259ad0.png


原文标题:平台稳定性里程碑 | Android 14 Beta 3 发布

文章出处:【微信公众号:谷歌开发者】欢迎添加关注!文章转载请注明出处。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 谷歌
    +关注

    关注

    27

    文章

    5861

    浏览量

    103263

原文标题:平台稳定性里程碑 | Android 14 Beta 3 发布

文章出处:【微信号:Google_Developers,微信公众号:谷歌开发者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    什么是热电偶稳定性?影响热电偶稳定性的主要因素

    什么是热电偶稳定性?影响热电偶稳定性的主要因素 热电偶热稳定性怎样检测? 热电偶稳定性是指热电偶在一定时间范围内的温度测量值的稳定程度。在实
    的头像 发表于 03-08 15:32 177次阅读

    晶振的频率容差定义 振荡器稳定性的重要性 影响频率稳定性的因素

    晶振的频率容差的定义 振荡器稳定性的重要性 影响频率稳定性的因素以及提高晶振耐受性和稳定性的方法 晶振是一种利用晶体材料振荡产生固定频率的设备。在电子设备中,晶振被广泛应用于时钟信号源、频率合成
    的头像 发表于 01-26 17:12 274次阅读

    什么是晶振的频率稳定性?如何确保晶振的稳定性呢?

    什么是晶振的频率稳定性?如何确保晶振的稳定性呢? 晶振的频率稳定性是指晶振在工作过程中频率的变化程度。对于许多电子设备和系统而言,晶振频率的稳定性是非常重要的,因为它直接影响到设备的精
    的头像 发表于 01-24 16:11 303次阅读

    影响晶振频率稳定性的有哪些因素呢?如何解决呢?

    影响晶振频率稳定性的有哪些因素呢?如何解决呢? 晶振频率稳定性是指晶振器在工作过程中频率的变化程度。晶振器是一种电子元件,广泛应用于各种电子电路中,特别是时钟电路和振荡电路。晶振频率稳定性的好坏
    的头像 发表于 01-23 16:43 333次阅读

    HarmonyOS应用兼容稳定性云测试

    测试通过率、问题分布、在各个测试终端上的问题分布情况。 点击测试设备后的查看详情按钮,可以查看测试任务详情信息,如测试截屏、资源轨迹、异常信息和日志信息。 稳定性测试 稳定性测试主要验证
    发表于 12-25 10:56

    温度和结构如何影响电阻稳定性

    温度和结构如何影响电阻稳定性
    的头像 发表于 12-07 11:38 270次阅读
    温度和结构如何影响电阻<b class='flag-5'>稳定性</b>

    晶振稳定性对遥控器有何影响?

    晶振的稳定性对遥控器性能和可靠性具有重要影响。
    的头像 发表于 11-24 17:37 400次阅读

    运放系统稳定性原理 运放的频率补偿

    运放系统稳定性原理 运放的频率补偿  运放系统稳定性原理 运放系统的稳定性是电路设计中的一个重要的问题,其中运放是一个主要的组成部分。稳定性问题的产生通常是由于反馈系统中存在非线性元素
    的头像 发表于 10-25 11:01 531次阅读

    VisionFive 2成功集成Android开源项目(AOSP)!

    非常高兴地向各位宣布,赛昉VisionFive 2上已成功集成了Android开源项目(AOSP),为用户带来了更多的软件解决方案以及与Android软件生态系统的无缝集成。这一里程碑源于与开源社区
    发表于 10-16 13:11

    怎么分析电路的稳定性

    怎么分析电路的稳定性?  电路的稳定性是指电路在不同条件下保持稳定的能力。稳定性是电路设计中十分重要的一个方面,因为稳定的电路能够提供可靠和
    的头像 发表于 09-17 16:44 1056次阅读

    正式版即将到来 | Android 14 Beta 5 发布

    Android 模拟器之外,Beta 5 还支持 Pixel Tablet 和 Pixel Fold,供您在多种类型的设备上测试应用。 Beta 5 内容 Beta 5 是
    的头像 发表于 08-16 17:40 807次阅读
    正式版即将到来 | <b class='flag-5'>Android</b> <b class='flag-5'>14</b> <b class='flag-5'>Beta</b> 5 <b class='flag-5'>发布</b>

    理解FPGA的亚稳定性

    摘要:本文叙述了 FPGA 的亚稳定性,叙述了它是如何发生的,是如何导致设计失效的。文 中说明了如何计算亚稳定性能的 MTBF 值,并解释了器件和设计性能的变化将会如何影响该 值。
    发表于 08-07 15:34 0次下载

    发布更新的好时机 | Android 14 Beta 4 发布

    和可折叠设备体验上所做的工作。 平台稳定性里程碑 Beta 4 是 Android 14 的第二
    的头像 发表于 07-13 17:40 346次阅读
    <b class='flag-5'>发布</b>更新的好时机 | <b class='flag-5'>Android</b> <b class='flag-5'>14</b> <b class='flag-5'>Beta</b> 4 <b class='flag-5'>发布</b>

    浅谈射频芯片的稳定性

    射频芯片的稳定性是一个关键的设计和性能指标,它描述了芯片在工作过程中的信号稳定性和性能的一致性。射频芯片的稳定性主要包括以下几个方面。
    的头像 发表于 06-13 12:40 789次阅读

    在 I/O 看未来 | 丰富多彩,Android 14 Beta 2 发布

    I/O 上为大家准备了许多 精彩的演讲 ,包括对 Android 14 许多新功能的详细介绍。这次发布Beta 2 聚焦相机和媒体、隐私和安全、系统界面以及开发者生产力方面的改进
    的头像 发表于 05-15 22:15 375次阅读
    在 I/O 看未来 | 丰富多彩,<b class='flag-5'>Android</b> <b class='flag-5'>14</b> <b class='flag-5'>Beta</b> 2 <b class='flag-5'>发布</b>