package icon

DSU Sideloader

Easily install GSIs using Android's DSU feature
DSU Sideloader is basically a "front-end" for Android's DSU feature.


  • Android 10 or higher

  • Unlocked Bootloader

  • Device with Dynamic Partitions

  • GSI you want to use!



For those who don't know, explaining in a really quick and simplified way, DSU (Dynamic System Updates), is a feature introduced on Android 10, that let developers boot GSIs without touching current system partition, this is done by creating new partitions to hold a GSI and a separated userdata, to boot on them when desired.

You must unlock device bootloader before using DSU, locked bootloader will only allow booting images from trusted signatures (which in reality, for most devices, means that it will only boot images signed by device OEM), for this reason, unlocked bootloader is a requirement, also, installing images with locked bootloader in some devices may be dangerous.

Once installation finishes, Android creates a persistent notification allowing you to boot into "Dynamic System" (GSI installed via DSU), and you can boot into installed GSI, without touching your system partition, or breaking the "real userdata" partition.

After booting Dynamic System, you can try and test whatever you want, when you need to switch back to device's original system image, everything you need to do, is just, a simple reboot!

You can read more about DSU Sideloader and DSU feature here: GitHub README.md

Versions

Although APK downloads are available below to give you the choice, you should be aware that by installing that way you will not receive update notifications and it's a less secure way to download. We recommend that you install the F-Droid client and use that.

Download F-Droid
  • Version 2.03 (8) suggested Added on Jul 10, 2023

    This version requires Android 10 or newer.

    It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.

    Permissions
    • android.permission.FORCE_STOP_PACKAGES
    • android.permission.INSTALL_DYNAMIC_SYSTEM
    • have full network access
      Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
    • android.permission.MANAGE_DYNAMIC_SYSTEM
    • android.permission.MOUNT_UNMOUNT_FILESYSTEMS
    • android.permission.READ_LOGS
    • request install packages
      Allows an application to request installation of packages.
    • moe.shizuku.manager.permission.API_V23
    • vegabobo.dsusideloader.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 4.9 MiB PGP Signature | Build Log