Dynamic System Updates(DSU)

Dynamic System Updates(DSU)は、Android 10 で導入されたシステム機能で、以下の処理を行うことができます。

  • 新しい GSI や各種 Android システム イメージをデバイスにダウンロードします。
  • 新しい動的パーティションを作成します。
  • ダウンロードした GSI を新しいパーティションにロードします。
  • GSI をゲスト OS としてデバイス上でブートします。

DSU を使用すると、現在のシステム イメージと GSI を簡単に切り替えることができるため、現在のシステム イメージを破損することなく GSI を試すことができます。

DSU の要件

DSU は Android 動的パーティション機能に依存しており、使用する GSI は Google または OEM によって認定システム イメージとして署名されている必要があります。

DSU はデバイス メーカーが提供する機能です。お使いのデバイスが対応しているかどうかについては、デバイス メーカーのサポートページをご覧ください。Google では、Android 10 Beta 4 リリースから、Pixel 3 以降のデバイスで DSU を有効にしています。

DSU とコマンドラインを使用して GSI をインストールする

このセクションでは、DSU とコマンドラインを使用して GSI をインストールする方法を説明します。

DSU を起動する

adb ツールを使用して DSU を起動します。

  1. GSI リリースページまたは別の GSI イメージ サーバーから、GSI をダウンロードします。

  2. GSI を gzip で圧縮します。

    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 ローダが導入されました。これはデバイスの開発者向けオプションにある、システムの UI から GSI を完全にダウンロード、インストール、管理できるツールです。

DSU ローダを使用して GSI をインストールするには、Android 11 以降を搭載するデバイスで次の手順を行います。

  1. デバイスの開発者向けオプションを有効にします。
  2. デバイスの設定アプリを開き、[開発者向けオプション] > [DSU ローダ] をタップします。
  3. デバイスにインストールする GSI を選択します。

    GSI を選択するための DSU ローダ インターフェース

  4. GSI の利用規約に同意します。

    利用規約に同意すると、選択した GSI のダウンロードが開始されます。ダウンロードのステータスは DSU 通知によって確認できます。

  5. ダウンロードが完了したら、[再起動] をタップして GSI をブートします。

    GSI を管理するオプションがある DSU 通知

  6. デバイスの元のシステム イメージに戻すには、DSU システム通知から [再起動] をタップします。

    元のシステム イメージを使用してデバイスを再起動できるオプションがある DSU 通知

フィードバックを送信

お寄せいただいたフィードバックは、DSU やその他の GSI の機能向上に役立てさせていただきます。GSI バグを報告し、Stack Overflow のトピックについて議論することで、ご意見を共有し、GSI の問題を報告してください。