聚焦 Android 11: 大功告成

聚焦 Android 11: 大功告成

这是 #11WeeksOfAndroid 系列的最后一篇文章。感谢您在过去的时间里和我们一起深入探索 Android 开发的关键领域。下面来和我们一起回顾这些精彩内容吧:

联系人与身份

您可以探索如何通过 "聊天通知" 实现聊天快捷方式和 Bubble。我们也分享了关于聊天新增功能和其他系统 UI 更新的视频,以及 联系人与聊天开发者文档。最后,您可以收听 Android Backstage 播客中系统 UI 团队关于 联系人 和 Bubbles 的访谈内容。

视频: 以人为本的通知: 新功能和最佳实践 (人和控制)

用户和开发者的复杂性使得开发者很难验证身份,为了解决这一难题,我们正在研究全新 Google Identity Services Library 中的 One Tap 和 Block Store。

如果您有兴趣详细了解 "身份 (Identity)",我们还发布了视频 "探究 Android 中的身份: 登录新功能" 。在此视频中,Vishal 介绍了 Google Identity System 中新增的库: One Tap 和 Block Store。

Facebook 的 Messenger 团队和 Twitter 的消息通讯团队很早就围绕聊天功能与我们合作。您可以查看官方文档中的相关案例,了解上述两个团队如何实现这些功能。

您可以通过 "联系人与身份" 学习计划视频列表 以及 往期文章 了解更多信息。

机器学习

我们在此前宣布了 Android 开发者挑战赛 (AndroidDevChallenge) 的 获奖名单。一览各个 获奖应用 的风采,看看它们运用 ML Kit 和 TensorFlow Lite,专注于展示如何通过强大的机器学习来帮助用户解决问题: 比如 为视障人士在拥挤空间导航 的应用,或者另一个 帮助学生学习手语 的应用。

近期,我们已将 ML Kit 作为独立 SDK 推出,并且不再要求用户使用 Firebase 帐号。您只需在 build.gradle 文件中添加一行代码,就能将 ML 功能添加至自己的应用。

另一个备受期待的新增功能是支持在进行 图像标记对象检测与跟踪 时,将 Google 模型替换为您自己的模型。

了解为什么需要 找到用户问题和机器学习 (ML) 优势的独特交集,以及 People + AI Guidebook 如何帮助您做出机器学习 (ML) 产品决策。您可以从 Read Reading 团队的访谈 中获得更多灵感。

另一个重点是 如何大幅简化为 Android 应用添加自定义模型的过程

最后,试试我们的 Codelab 吧:

  • ML Kit Codelab  - 使用 ML Kit 和 CameraX 进行语言识别和文本翻译。
  • 自定义模型 Codelab  - 使用 TensorFlow Lite Model Maker 和 Android Studio 机器学习模型绑定构建用于识别鲜花的 Android 应用。

您可以通过 "机器学习" 学习计划视频列表 以及 往期文章 了解更多信息。

隐私和安全

正如我们之前的文章—— "隐私和安全" 所述,我们正在给予用户提供更多的控制权和对用户数据访问的透明度。

在 Android 11 中,我们引入了多项 隐私改进,如 单次授权,利用该功能,用户可授权应用访问设备的麦克风、摄像头或位置信息,但该访问权限仅在授权当时有效。您可以进一步了解如何利用这些 新变更 构建隐私友好型应用。还可以观看视频了解更多 Android 安全更新

其他值得注意的更新包括:

  • 权限自动重置:  如果用户很长一段时间未使用某个适配 Android 11 的应用,系统将 "自动重置" 所有与该应用关联的运行时权限并通知用户。

  • 数据访问审核 API:  在 Android 11 中,开发者可以访问这一新的API,从而更清楚地了解自己的应用对私有数据和受保护数据的使用情况。详细了解 Android 11 中的新工具,让您的应用更加私密稳定。

  • 分区存储:  在 Android 11 中,所有目标 API 级别 (Target SDK Level) 为 30 的应用都将强制使用分区存储功能。您可以观看下方视频了解更多信息,或查看 存储常见问题解答

    视频:Android 的现代存储

  • Google Play 系统更新 : Google Play 系统更新最初作为 Project Mainline 的一部分随 Android 10 一起推出,为用户更快提供核心操作系统组件更新。

  • Jetpack 生物识别库 : 该库现已 更新,加入 Android 11 中的新 BiometricPrompt 功能,支持向后兼容。

您可以通过 "隐私、信任和安全" 学习计划视频列表往期文章,以及 隐私安全 最佳做法的相关文档了解更多信息。

Android 11 兼容性

在 Android 11 正式版发布之前,我们陆续发布了数个测试版本。在 Android 11 Beta 2 版本中,我们添加了名为 "平台稳定性" 的新版本里程碑,明确告知开发者所有 API 和系统行为均已达到最终状态。在数周后发布的 第三个 也是最后一个 Beta 版本中加入了最新的修复和优化,并最终于近期发布了 Android 11 正式版

请查看以下实用资源,确保您的应用能够兼容 Android 11:

《加速 Android 更新》 文章中,我们探讨了如何通过扩展 Android 的可更新性架构使最新的操作系统保持临界质量。

我们还重点介绍了 卓盟科技 (Excelliance Tech) 的精彩案例。卓盟科技最近将其 LeBian SDK 从非 SDK 接口转移到稳定的官方 API,由此得以随着时间的推移与 Android 操作系统保持更高的兼容性。

您可以通过 "Android 11 兼容性" 学习计划视频列表 以及 往期文章了解更多信息。

开发语言

我们在 Android 11 中正式推荐以协程 (coroutines) 处理异步工作,进一步改善了 Kotlin 在 Android 上的开发者体验。如果您还不熟悉 协程 ,请查看以下资源:

您还可以在全新 Kotlin  开发者故事 获取最新的案例分析和数据,包括 新的 Google Home 案例研究 以及 Android 中的 Kotlin 状态技术视频。而对于初学者,我们也推出了 新的 Android Kotlin 基础知识,欢迎前往学习!

如果您是  Java  语言开发者,可以观看视频 "对较新 Java API 的支持",了解我们如何在各个版本的 Android 中提供新的 OpenJDK 库。对于 Android 11,我们还更新了 Android 运行时,以通过 I/O 预取 加快应用的启动速度。

Android 11 包括对原生工具链的更新,其中包括更出色的 配置文件导向优化 (PGO) 工具以及 对 Android Studio 4.0 中原生依赖项管理的改进

最后,我们将持续改进 Android Studio 中的 D8 和 R8 编译器,在 R8 收缩器 中为 Kotlin 提供更好的支持。您可以查看相关文章 了解详情

您可以通过 "开发语言" 学习计划视频列表 以及 往期文章了解更多信息。

Android Jetpack

对 Jetpack 的新功能感兴趣吗?Android Jetpack 的新功能视频 简要介绍了库的许多更新,及对应的入门指南。

今年,我们发布的 Navigation 2.3 带来多项重大改进,帮助您在应用的不同屏幕之间轻松导航并遵循 Android 界面原则。

在 Android 11 中,我们仍致力于让用户对敏感权限有更多控制。现在,通过新的 ActivityResult API,常见用例等均已获得类型安全 (type-safe) 保证。这些变更简化了您请求权限的方式,我们将在未来继续努力使权限更加简单。

还可以了解我们最近发布的 AppStartup 库以及 WorkManager 的最新变化。

您可以通过 Jetpack 学习计划视频列表 以及 往期文章 了解更多信息。

Android 开发者工具

近期我们分享了 Android 开发者工具的最新动态,以及 设计工具的最近更新,您可以通过观看视频进一步了解:

以下还有两篇与设计工具相关的深度分享:

您可以了解有关调试布局以及 布局检查器 更新的信息。探索 Jetpack Compose Design 工具的最新发展,以及 如何在 Android Studio 中使用新的数据库检查器。也欢迎探索我们为 Android Studio 中的 Jetpack Hilt 提供的最新开发工具。

我们还发布了四篇文章,介绍 Android 开发者工具中的构建系统:

这篇有关 Android Emulator 的文章介绍了虚拟测试的最新动态。最后,要了解性能工具的最新变更,请观看 有关 System Trace 的性能分析器。此外还有 使用 Android Studio 4.1 进行 C++ 内存性能分析 的更多信息。

您可以通过 "Android 开发者工具" 学习计划视频列表 以及 往期文章 了解更多信息。

Google Play 应用分发和获利

我们发布了 3 支视频,帮助您快速了解 Google Play 管理中心 的新内容和变化:

我们还分享了 app bundle 的 最新改进,并且计划要求 2021 年下半年的新应用和游戏都通过此格式发布。开发者现在可以通过新的 应用内评价 (In-app review) API 从应用内请求评分和评论!

别忘了我们 更透明的订阅政策,这有助于提高用户对 Google Play Billing 的信任。我们还扩展了功能集,帮助您更好地 吸引和留存用户,并推出了 Play Billing Library 3,从 2021 年中期开始开发者将需要使用该库。

七月份我们在 九个新市场 推出了 Google Play Pass。同时使用 Google Play Pass 和 Google Play 直接结算的开发者在美国获得的收入是仅使用 Google Play Pass 开发者所获收入的 2.5 倍,并且不会减少 Play Store 的收益。您可以访问 官方文档 了解详情并 提交参与意向

您可以通过 "Google Play 应用分发和获利" 学习计划视频列表 以及 往期文章 了解更多信息。

Android,不止于手机

我们重点介绍了:

您可以通过学习计划、视频列表以及 往期文章 了解更多信息。

游戏和媒体

我们分享了一些 游戏更新 并带来了 The Android Game Developer Show 特别节目。

确保您的应用使用具有有效 MediaSession 令牌的 MediaStyle,以充分利用 Android 11 的新媒体控件。您可以进一步了解支持媒体恢复的方法,包括通过 MediaBrowserServiceCompat 使应用可被发现,使用 EXTRA_RECENT 提示帮助恢复内容,以及处理 onPlay 和 onGetRoot 回调。以及如何使用利用 MediaRouter Jetpack 库 和 UAMP 示例 的更新版本。

最后,我们介绍了一些 使应用从 5G 中获益 的主要途径。Android 11 增加了新的 API 并更新了现有 API,确保您拥有充分利用 5G 功能所需的全部工具,例如增强的 带宽估计 API5G 检测功能 以及来自蜂窝运营商的新 计量标记。现在,Android Emulator 让您无需 5G 设备或网络连接即可开发和测试这些 API。更多内容尽在我们的 Android 5G 专区

您可以通过 "游戏和媒体" 学习计划视频列表 以及 往期文章 了解更多信息,访问 官方文档 第一时间获取我们为游戏开发者提供的所有工具和资源。

UI 与 Compose

为了帮助您快速掌握 Compose,我们发布了 4 个新的 Codelab9 个新的示例 以及相关 新增文档,Compose 团队还发布了一个播客,以及更多视频介绍供您参考。

Android 11 的新功能之一是应用能够在屏幕键盘打开和关闭之间无缝过渡。要了解如何将其添加到您的应用,请查看 技术文档示例应用

我们 建议 您参考 Material Design 指南,确保应用一致运行,同时确保应用的使用习惯可以延续。进一步了解使用 Material Design Components (MDC) 库 的 Material Theming (颜色类型形状)、深色主题 以及 Material 的 动效系统。如果您尚未迁移到 MDC,可以先来看看我们的 迁移指南

它甚至可以通过新的 MDC Compose 主题适配器 等库简化您的迁移,该库可将 MDC XML 主题转换为 Compose MaterialTheme

您可以通过 Compose 学习计划"现代界面" 学习计划视频列表 以及 往期文章 了解更多信息。

资源

您可以在 Android 11 标签页 获取全部主题内容,或查看 #11WeeksOfAndroid 视频内容的 完整视频列表,或者前往官方网站也可以详细 了解更多主题。请您继续关注我们,期待您的反馈。感谢您与我们相伴前行!

版权声明

禁止一切形式的转载-禁止商用-禁止衍生 申请授权

脉脉不得语
脉脉不得语
Zhengzhou Website
Android Developer | https://androiddevtools.cn and https://androidweekly.io WebMaster | GDG Zhengzhou Funder & Ex Organizer | http://Toast.show(∞) Podcast Host

你已经成功订阅到 Android 开发技术周报
太棒了!接下来,完成检验以获得全部访问权限 Android 开发技术周报
欢迎回来!你已经成功登录了。
Unable to sign you in. Please try again.
成功!您的帐户已完全激活,您现在可以访问所有内容。
Error! Stripe checkout failed.
Success! Your billing info is updated.
Error! Billing info update failed.