[ Web Proxy ]
URL:
Viewing: https://developer.android.com/topic/dsu [Back]  [Original]

Dynamic System Updates (DSU)  |  Platform  |  Android Developers Skip to main content
Essentials Design & Plan Develop Google Play Blog
Search:
Android Studio
Android Developers [Android Developers]

Dynamic System Updates (DSU) Stay organized with collections Save and categorize content based on your preferences.

Dynamic System Updates (DSU) is a system feature introduced in Android 10 that does the following:

DSU also enables you to easily switch between the current system image and the GSI so you can try GSI without risking corruption of the current system image.

DSU requirements

DSU depends on the Android Dynamic Partition feature and requires the GSIs to be signed by Google or your OEMs as a trusted system image.

DSU is a feature provided by your devices manufacturer. Refer to your device manufacturers support page for availability. Google has enabled DSU on Pixel 3 and newer devices since the Android 10 Beta 4 release.

Install GSIs using DSU and the command line

This section describes how to install a GSI using DSU and the command line.

Launch DSU

Launch DSU using the adb tool.

  1. Download a GSI from the GSI release page or another GSI image server.

    Note: If you build your own GSI from source, or if you download a GSI from another image server, your GSI might not be unsparsed. Use the following command inside your build tree to convert the image to an unsparsed image: simg2img system.img system_raw.img
  2. gzip the GSI.

    gzip -c system_raw.img > system_raw.gz
    
  3. Push the GSI to the device.

    adb push system_raw.gz /storage/emulated/0/Download/
    
  4. Launch DSU using adb.

    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
    

    A notification like this one shows the status of the installation.

    Notification showing GSI installation in progress [Notification showing GSI installation in progress]

Boot into the GSI

[] Figure 1. A persistent notification that you can use to control DSU.

After DSU installs the GSI, a DSU menu appears as a persistent notification inside the system notification drawer (see figure 1).

At this point, you can do one of the following:

Switch back to the device's original system image

After you are done testing your app using the GSI, you can perform a cold reboot to boot the system back into its original system image.

When setting the next reboot to use a GSI, you can have the GSI stay installed through multiple boot cycles (until discarded) by enabling sticky mode, or have it used for only one boot cycle by disabling sticky mode.

The following command enables sticky mode:

adb shell gsi_tool enable

The following commands disable sticky mode:

adb shell gsi_tool disable
adb shell gsi_tool enable -s
adb shell gsi_tool disable

Install GSIs using DSU and the DSU Loader

Android 11 introduced the DSU Loader, a tool available in the device's developer options that lets you download, install, and manage GSIs entirely through the system's UI.

To install a GSI using the DSU Loader, follow these steps on a device running Android 11 or higher:

  1. Enable developer options on your device.
  2. Open your device's Settings app, then tap Developer options > DSU Loader.
  3. Choose the GSI that you want to install on your device.

    DSU loader interface for selecting a GSI [DSU loader interface for selecting a GSI]

  4. Agree to the GSI terms and conditions.

    After you agree to the terms and conditions, the GSI that you selected starts downloading. You can check the status of the download through the DSU notification.

  5. After the download has finished, tap Restart to boot the GSI.

    DSU notification with options for managing the GSI [DSU notification with options for managing the GSI]

  6. When you want to switch back to your device's original system image, tap Restart from the DSU system notification.

    DSU notification with an option that lets you reboot the device using the
original system image [DSU notification with an option that lets you reboot the device using the original system image]

Provide feedback

Your feedback helps us improve DSU and other GSI features. Share your thoughts and report GSI issues by filing GSI bugs and discussing topics on Stack Overflow.

Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Last updated 2026-03-05 UTC.

[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2026-03-05 UTC."],[],[]]

Web Proxy Viewer  |  New URL  |  Original Page