動態系統更新 (DSU)

動態系統更新 (DSU) 是 Android 10 中導入的系統功能,可執行下列操作:

  • 將新的 GSI (或其他 Android 系統映像檔) 下載至裝置。
  • 建立新的動態分區。
  • 將下載的 GSI 載入新的分區。
  • 在裝置上啟動 GSI 做為訪客 OS。

DSU 也可讓您在目前的系統映像檔與 GSI 之間輕鬆切換,因此您可以試用 GSI,而不會對目前的系統映像檔毀損。

DSU 相關規定

DSU 依附於 Android 動態分區功能,並要求 Google 或您的原始設備製造商 (OEM) 簽署 GSI 做為可信任的系統映像檔。

DSU 是裝置製造商提供的功能,如要瞭解裝置供應情形,請參閱裝置製造商的支援頁面。自 Android 10 Beta 4 版本以來,Google 已在 Pixel 3 以上裝置上啟用 DSU。

使用 DSU 和指令列安裝 GSI

本節說明如何使用 DSU 和指令列安裝 GSI。

啟動 DSU

使用 adb 工具啟動 DSU。

  1. 請從 GSI 版本頁面或其他 GSI 映像檔伺服器下載 GSI。

  2. 使用 gzip 格式壓縮 GSI。

    gzip -c system_raw.img > system_raw.gz
    
  3. 將 GSI 推送至裝置。

    adb push system_raw.gz /storage/emulated/0/Download/
    
  4. 使用 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 安裝程序的通知

啟動 GSI

圖 1. 方便您控管 DSU 的持續通知。

DSU 安裝 GSI 後,系統通知導覽匣中就會顯示 DSU 選單 (如圖 1 所示)。

此時,您可以執行下列其中一項操作:

  • 輕觸「重新啟動」即可啟動 GSI。
  • 輕觸「捨棄」以清除 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 載入器,可透過裝置的開發人員選項提供此工具,讓您透過系統使用者介面完全下載、安裝及管理 GSI。

如要使用 DSU 載入器安裝 GSI,請在搭載 Android 11 以上版本的裝置上按照下列步驟操作:

  1. 在裝置上啟用開發人員選項
  2. 開啟裝置的「設定」應用程式,然後依序輕觸「開發人員選項」>「DSU 載入器」
  3. 選擇要在裝置上安裝的 GSI。

    用於選取 GSI 的 DSU 載入器介面

  4. 同意 GSI 條款及細則。

    同意條款及細則後,您選取的 GSI 就會開始下載。您可以透過 DSU 通知查看下載狀態。

  5. 下載完成後,輕觸「重新啟動」啟動 GSI。

    含有管理 GSI 選項的 DSU 通知

  6. 如要切換回裝置的原始系統映像檔,請輕觸 DSU 系統通知中的「Restart」

    DSU 通知,當中的選項可讓您使用原始系統映像檔重新啟動裝置

提供意見

你的意見回饋可協助我們改善 DSU 和其他 GSI 功能。提交 GSI 錯誤及討論 Stack Overflow 上的主題,分享您的想法並回報 GSI 問題。