动态系统更新 (DSU) 是 Android 10 中引入的一项系统功能,它执行以下操作
- 将新的 GSI(或其他 Android 系统映像)下载到您的设备。
- 创建一个新的动态分区。
- 将下载的 GSI 加载到新分区。
- 将 GSI 作为访客操作系统启动到设备上。
DSU 还使您能够轻松地在当前系统映像和 GSI 之间切换,以便您可以在不冒损坏当前系统映像风险的情况下试用 GSI。
DSU 要求
DSU 依赖于Android 动态分区功能,并要求 GSI 由 Google 或您的 OEM 作为受信任的系统映像进行签名。
DSU 是由您的设备制造商提供的功能。请参阅您的设备制造商的支持页面以了解可用性。自 Android 10 Beta 4 版本起,Google 已在 Pixel 3 及更新的设备上启用了 DSU。
使用 DSU 和命令行安装 GSI
本节介绍如何使用 DSU 和命令行安装 GSI。
启动 DSU
使用adb
工具启动 DSU。
从GSI 发布页面或其他 GSI 映像服务器下载 GSI。
压缩 GSI。
gzip -c system_raw.img > system_raw.gz
将 GSI 推送到设备。
adb push system_raw.gz /storage/emulated/0/Download/
使用
adb
启动 DSU。adb shell am start-activity \ -n com.android.dynsystem/com.android.dynsystem.VerificationActivity \ -a android.os.image.action.START_INSTALL \ -d file:///storage/emulated/0/Download/system_raw.gz \ --el KEY_SYSTEM_SIZE $(du -b system_raw.img|cut -f1) \ --el KEY_USERDATA_SIZE 8589934592
类似于此的通知会显示安装状态。
启动 GSI
DSU 安装 GSI 后,DSU 菜单会显示为系统通知抽屉中的持久通知(请参阅图 1)。
此时,您可以执行以下操作之一
- 点击重新启动启动 GSI。
- 点击放弃清理 GSI。
切换回设备的原始系统映像
完成使用 GSI 测试应用后,您可以执行冷启动以将系统重新启动到其原始系统映像。
在设置下一次重新启动以使用 GSI 时,您可以通过启用粘滞模式使 GSI 在多个启动周期中保持安装状态(直到被放弃),或者通过禁用粘滞模式使其仅用于一个启动周期。
以下命令启用粘滞模式
adb shell gsi_tool enable
以下命令禁用粘滞模式
adb shell gsi_tool disable
adb shell gsi_tool enable -s
adb shell gsi_tool disable
使用 DSU 和 DSU 加载程序安装 GSI
Android 11 引入了 DSU 加载程序,这是一种在设备的开发者选项中可用的工具,它允许您完全通过系统的 UI 下载、安装和管理 GSI。
要在运行 Android 11 或更高版本的设备上使用 DSU 加载程序安装 GSI,请按照以下步骤操作
- 在您的设备上启用开发者选项。
- 打开设备的“设置”应用,然后点击开发者选项 > DSU 加载程序。
选择您要安装到设备上的 GSI。
同意 GSI 的条款和条件。
同意条款和条件后,您选择的 GSI 将开始下载。您可以通过 DSU 通知检查下载状态。
下载完成后,点击重新启动以启动 GSI。
当您要切换回设备的原始系统映像时,点击 DSU 系统通知中的重新启动。
提供反馈
您的反馈有助于我们改进 DSU 和其他 GSI 功能。通过提交GSI 错误并讨论Stack Overflow 上的主题来分享您的想法并报告 GSI 问题。