作者 | 安卓开发者博客
前言
今日,谷歌安卓开发者博客正式发布了 Android 11 Beta 版,本次版本更新着力强调三大主题:人、控制与隐私。谷歌还在 Kotlin 协同程序中为开发者提供更新,旨在完善 Jetpack Compose 工具包、加快 Android Studio 中的构建速度,并为 Play Console 带来全新的使用体验。谷歌表示,这是一个开发者友好的版本,带来了现代 Android 开发的新体验。
Android 11 Beta: 现已推出
自今年 2 月以来,大家一直向我们提供关于 Android 11 开发者预览版的反馈。感谢大家的支持,今天我们将发布 Android 11 的首个 Beta 版,其中着力强调三大主题:人、控制与隐私。
人:我们希望贯彻 Android 系统以人为本的设计理念,以更强的表现力重新想象与手机进行交互的方式。我们还希望构建起一套能够识别并确定用户生活中最重要人物及其具体优先级的操作系统:
- 对话通知 将显示在屏幕顶端的专用阴影区内,同时提供个性化设计与对话专用的操作形式,具体包括以气泡形式开启对话、在主屏幕上创建对话快捷方式或设置提醒。
- 气泡 可帮助用户在多任务处理中保持对话可见并随时操作对话内容。消息与聊天应用可借助通知机制中的 Bubbles API 在 Android 11 上启用这项功能。
- 合并键盘建议,负责让自动补全应用及输入法编辑器(IMEs)安全地直接在 IME 建议栏中提供特定于当前上下文的实体与客串,为用户带来更便捷的体验。
- 语音访问,主要面向希望完全通过语音控制手机的用户。新的语音机制提供一个可视层,负责理解屏幕内容与上下文,并为辅助功能命令生成标签与访问点。
控制: Android 最新版本现在可以帮助您快速访问所有智能设备,并在统一的空间内实现全面控制:
- 设备控制,使用户能够比以往更快、更轻松地访问及控制其联网设备。现在,您只需要长按电源按钮,就能将这些设备以控件形式统一显示在手机当中。应用还可通过新的 API 接入这些联网设备。关于更多详细信息,请参阅此处。
- 媒体控制,用户可以快速便捷地切换音频或视频内容的输出设备,具体包括耳机、扬声器以及电视等。您可以从“开发者选项”中直接启用这项功能,而此次发布的 Beta 版则默认启用此功能。关于更多详细信息,请参阅此处。
隐私: 在 Android 11 中,我们为用户提供更丰富的敏感权限控制选项,并进一步加快更新速度以保障设备安全性。
- 一次性权限,允许用户仅授权应用程序对设备上的麦克风、摄像头或位置数据访问一次。如果下次仍需使用,应用必须再次进行权限申请。关于更多详细信息,请参阅此处。
- 权限自动重置:如果用户长时间未使用某应用,则 Android 11 将“自动重置”与该应用相关的的所有运行时权限,并向用户发出通知。该应用可以在下次使用时重新申请权限。关于更多详细信息,请参阅此处。
- 后台位置:今年 2 月,我们宣布开发人员需要获得批准才能在其应用中访问后台位置,希望借此防止滥用行为。这一次,我们决定为开发人员提供更多过渡时间,因此这项政策的强制执行时间将推迟到 2021 年。关于更多详细信息,请参阅此处。
- Google Play System 更新。此次更新于去年开始,让我们得以加快对 Android 生态系统中各类设备中核心操作系统组件的更新速度。在 Android 11 中,我们将可更新模块的数量增加了一倍以上,这 12 个新模块将进一步改善用户与开发人员的隐私性、安全性与一致性。
开发人员友好性: 我们希望让开发人员更加轻松愉快地使用这个新版本。为了简化兼容性测试,我们:
- 限制了大部分重大变更,直到您确定将 Android 11 作为开发目标(换言之,除非您明确变更 manifest,否则这些变更不会贸然生效)。
- 在开发者选项中添加新的用户界面,帮助大家在多种变更间往来切换以快速完成测试。
- 添加新的 Platform Stability 版本里程碑,其中已经完成所有 API 与行为改动,您可以在保证平台稳定性的前提下完成应用更新。
Android 11 还带来一系列旨在提升开发人员工作效率的改进,例如无线 ADB 调试、用于安装大型 APK 的 ADB 增量,以及面向平台 API 的更多可 null 注释(用于在构建时——而非运行时——发现问题)。
Android 11 的首个 Beta 版现已推出,其中包含一系列可在应用中实际体验的最终 SDK、NDK API 与新功能。如果您使用的是 Pixel 2、3、3a 或 4 代设备,可以通过下方链接申请以 OTA 形式进行 Android 11 Beta 更新。
https://www.google.com/android/beta
当然,大家也可以像以往那样 下载Pixel 与 Android 模拟器。要了解 Android 11 中的全部开发者功能,请访问 Android 11 开发者网站。
https://developer.android.com/11
现代 Android 开发
在过去几年中,Android 团队一直在努力改善移动开发者的体验,进而提高工作效率。我们先后推出了 Android Studio IDE、全新的强大语言(Kotlin)、简化了常见任务的 Jetpack 库并改善了用于应用分发的 Android App Bundles。现在,我们将这些举措汇总起来,统一命名为“现代 Android 开发”体系,旨在为您带来更加高效好用的 Android 系统。
Android Studio
在此次更新中,我们为 Android Studio 4.1 Beta 与 4.2 Canary 带来了新功能,重点关注开发者提出的以下关键要求:
- 在 Android 11 设备上,您可以使用 ADB 无线调试降低调试工作的操作难度。我们还添加了 Database Inspector 与 Dependency Injection(Dagger)工具;
- 设备测试更上一层楼,这要归功于 Android 模拟器与 Android Studio 的结合。现在,您可以并行运行测试以同时查看多台设备上的结果。此外,我们还改进了设备管理器,帮助您更轻松地管理自己的设备。
- 降低机器学习难度——现在您可以直接在 IDE 中为 ML Kit 及 TensorFlow Lite 导入模型。
- 在 Kotlin Symbol Processing 的支持下,任务图可缓存在 Gradle 中,从而让 Android 11 上的构建与部署速度得到进一步加快。另外,新的 build 分析器将帮助大家诊断可能存在性能瓶颈的位置。
- 游戏工具更加强大,包括更新后的性能分析器 UI、经过全面改进的系统跟踪工具以及支持对本机内存进行分析等。
体验最新版本: Android Studio 4.1 Beta 与 Android Studio 4.2 Canary:
https://developer.android.com/studio/preview
Kotlin 与 Jetpack
语言和库正是现代 Android 开发项目中的主要投入方向,简洁的 Kotlin 现代语言与强大的 Jetpack 库都在努力提高您的工作效率。
随着 Kotlin 语言普及度的提升(目前,Google Play 上排名前一千位的应用中,超过 70% 使用 Kotlin 编写)以及用户群体的不断扩大,我们可以在其中引入更多新功能以简化使用方式。Kotlin 协同程序正是其中一例,旨在帮助开发人员更轻松地编写及理解并发调用机制。我们正考虑将协同程序纳入官方建议,且目前三大最常用的 Jetpack 库(Lifecycle、WorkManager 以及 Room)都内置有协同程序,希望帮助用户编写出更好的代码。
在 Jetbrains 团队的有力支持下,Kotlin 语言本身也随着版本的更迭而持续增强。Kotlin 1.4 提供更快的代码完成速度,在默认情况下启用更强大的类型推理功能、函数接口,外加混合命名与定位参数等非常实用的体验改进机制。
我们也在继续推动Jetpack 这套涵盖多个 Android 版本的库,希望建立起更加简便易行的移动开发模式。Android 团队中有不少成员一直对 Dagger 大加赞赏,因此我们此次与 Dagger 团队合作,共同推出 Hilt。这是一款基于 Dagger 的开发者友好型打包器,也是我们目前推荐的依赖项注入解决方案。现在,您已经可以体验 Hilt 的 Alpha 版。另外,我们还推出了 App Startup 库,通过优化库的初始化流程以帮助开发者缩短应用启动时长。当然,我们也对其他现有库进行了多项更新,包括对 Paging 3 的重大更新(以 Kotlin 优先的思路进行重写,并全面引入协同程序支持能力)!
UI 工具包 Compose 的最新动向
要提高生产力,强大的 UI 工具包必不可少,它能帮助我们通过原生访问平台 API、轻松在 Android 上构建起美观的 UI。正因为如此,我们才决定打造 Jetpack Compose——它是我们的全新现代 UI 工具包,能够以更少代码、强大工具与直观的 Kotlin API 让您的应用更加“美艳动人”。
今天我们还发布了 Jetpack Compose 开发者预览版 2,其中包含一系列开发者期盼已久的重要功能:
- 与视图的互操作性(可与现有应用中的 Composable 功能相结合)(全新!)
- 动画(全新!)
- 测试(全新!)
- 约束布局(全新!)
- 甜酸器列表(全新!)
- Material UI 组件
- 文本与可编辑文本(全新!)
- 主题与图形
- 窗口管理
- 输入与手势
我们还与 Jetbrains Kotlin 团队联手为 Android Studio 4.2 添加了一系列新功能,以帮助大家使用 Compose 构建应用:
- 用于代码生成的 Kotlin 编译器
- Compose 预览注释
- 实时交互 Compose 预览
- 在设备上部署独立 composable
- Compose 代码补全
- 面向 Compose 的示例数据 API
Compose 目前还没有做好生产准备,其中尚有不少性能优化空间,但我们希望大家能积极尝试并提出反馈。我们计划在今年夏季发布 Compose 的 Alpha 版,并在明年推出 1.0 版本。
全新 Google Play Console
Google Play 致力于帮助开发人员发展自己的业务。以此为基础,我们重新设计了 Google Play Console,以帮助大家在我们的平台上获得更大的成功。除了更清晰易用之外,我们还添加了以下新功能:
- 帮助您在 Google Play 上查找、发现、了解各项新功能
- 查找与政策变更、发布状态与用户反馈相关的新指南
- 通过新的购买情况报告更好地了解当前应用的市场表现
- 让团队中的每个人都能通过新的用户管理选项使用 Play Console 功能
您可以 点击此处 参阅关于全新 Google Play Console 的介绍博文,或者通过 play.google.com/console 加入 beta 测试。您的反馈将帮助我们进一步提升 Google Play Console 的实际表现,我们期待听到您的声音。
总结
当然,受篇幅所限,本文无法涵盖关于 Android 11 Beta 版的所有消息。关于更多内容,请参考以下资源。
我们在 Android 开发者 YouTube 频道 上发布有 12 段相关视频。
我们即将组织 11 Weeks of Android 活动,每一周都将根据大家关注的主题(例如 UI、Jetpack 与机器学习等)整理大量开发者内容。点击此处 以了解更多时间安排信息。
- https://developer.android.com/11weeksofandroid
- 我们还将组织一系列全球线上社区聚会,讨论 Android 11 中的新增功能、如何保障应用兼容性以及现代 Android 开发中的基础知识与最佳实践。看看您身边有哪些 Android 11 Meetup 可以参加吧~