Android 11 第三个开发者预览版已发布,这是面向开发者提供的版本,因此不建议普通用户升级或用于日常使用。更新内容除了修复错误外,还为开发者带来了许多提升生产效率的改进。

新功能亮点

更新 APP 退出原因 API

APP 退出的原因有很多,APP 崩溃、系统 kill 进程甚至用户自己的操作都会导致 APP 退出。因此开发者需要了解在不同的设备、内存配置和使用场景下,APP 为何退出以及当时的状态如何。

Android 11 引入了 getHistoricalProcessExitReasons() 方法,用于报告近期任何进程终止的原因。APP 可以使用此方法来收集崩溃诊断信息,例如进程终止是由于 ANR、内存问题还是其他原因所致。

getHistoricalProcessExitReasons() 方法会返回 ApplicationExitInfo 类的实例,其中包含与应用进程终止相关的信息。通过对此类的实例调用 getReason(),您可以确定应用进程终止的原因。例如,返回值为 REASON_CRASH 表示您的应用中发生了未得到处理的异常。

无线调试(Wireless Debugging)

在 Android 11 中,开发者可通过 Wi-Fi 连接使用 ADB 并进行调试。鉴于笔记本电脑上有限的 USB 接口且每次连接 ADB 都需要频繁插拔数据线,Android 11 的无线调试功能无疑提升了工作效率。

与现有的 TCP/IP 调试工作流程不同,Android 11 的无线调试功能不需要使用数据线进行设置,可以长期记忆连接,并且可以使用最新的 Wi-Fi 标准以获得最快的速度。在该版本中,通过配对码即可使用此功能。开发团队表示计划在未来的版本中集成二维码来进行配对。详细内容查看 https://developer.android.com/preview/features#wireless-adb

增量 APK 安装

在设备上安装大型(2GB 以上)APK 可能需要很长的时间,即使只对应用稍作更改也是如此。增量 APK 安装通过安装 APK 中足以用来启动应用的部分,同时在后台流式传输剩余数据来加速这一过程。可以运行以下命令来使用该功能。如果设备不支持增量安装,则该命令会失败并输出详细的解释。

adb install --incremental

必须将 v4 签名文件放在 APK 旁边,才能使此功能正常发挥作用。

详情查看 https://developer.android.com/preview/features#incremental

兼容性改进

谷歌提醒,Android 11 发布第三个开发者预览版即意味着功能与 API 都趋于稳定,开发者应该开始测试 APP 与 Android 11 的兼容性,并在 Android 11 Beta 版推出时发布 APP 的兼容更新,以便获取更多 Android Beta 用户的反馈。

可以在 Pixel 2、3、3a 或 4 系列的设备以及 Android 模拟器上进行兼容性测试。只需升级系统版本,安装当前版本的应用,然后测试其完整流程即可。注意请务必检查可能影响应用的行为变更。为帮助测试,Android 11 将多项 targetSdk 变更设定为可逐一开启/关闭。详情查看 https://developer.android.com/preview/test-changes