Instructions

This package comes in 2 flavours:

  • One is complete (Full).

  • One include only open-source components (OSS).

You can build it yourself or download the prebuilt version.

Prerequisites

  • An Android device or emulator running Android 2.2 or later.

  • A custom recovery (see Supported recoveries below) or root access.

  • At least 150 MB of free space on the system partition (actual requirements vary by device and selected options).

Supported recoveries

The following custom recoveries are supported:

Download

You can find the stable releases here:

Instead if you want to try the nightly builds you can find them here:

Note

If you get the error β€œNo space left on device”, you can find a workaround in Known issues.

Verifying the download

Each release ships with a .sha256 file alongside the zip. To verify the integrity of the downloaded file, run:

sha256sum -c ./microg-unofficial-installer-*.zip.sha256

An OK result confirms the file is intact and unmodified. The expected SHA-256 hash is also listed in the release notes for quick manual comparison.

Configure

You can pre-configure options before flashing by setting system properties on the device.

All available options and their accepted values are listed in the setprop-settings-list.csv file bundled inside the zip. Extract it and open it in any spreadsheet app or text editor to see everything that can be tuned. (There are more knobs than you’d expect. We’re not sorry.)

For example, to activate the key recognition test mode β€” useful when the volume keys are not being detected correctly during live setup:

adb shell "setprop zip.microg-unofficial-installer.KEY_TEST_ONLY 1"

When KEY_TEST_ONLY is enabled, the installer skips the actual installation entirely and instead runs an interactive hardware-key diagnostic. It prompts you to press any button 8 times in a row; for every press it displays the raw input event (key code and action) directly on screen so you can see exactly which key codes your device reports. Use this to diagnose key-detection problems on devices with non-standard hardware buttons, or to find the correct key codes for custom input mappings.

Warning

Properties set via adb shell setprop are temporary and are lost on every reboot. If you set them and then reboot the device (e.g., to enter recovery), they will be gone before the installer ever reads them β€” making your configuration useless. Always set the properties after the device has booted into the state from which you will flash, and flash immediately afterwards without rebooting.

Installation

Choose only one installation method below that matches your setup and follow only those steps β€” do not combine steps from different methods.

Via custom recovery

  1. Transfer the flashable zip to your device’s internal storage or microSD card.

  2. Reboot into recovery (hold Power + Volume Down β€” exact key combination depends on your device).

  3. In TWRP, tap Install, navigate to the zip file and select it.

  4. Swipe to confirm the flash.

  5. Follow the on-screen prompts for the live setup (e.g., choose which optional apps to install).

  6. Once the flashing is complete, tap Reboot β†’ System.

Via ADB sideload

  1. Reboot into recovery.

  2. In TWRP, tap Advanced β†’ ADB Sideload, then swipe to start.

  3. On your PC, run:

    adb sideload microg-unofficial-installer-*.zip
    
  4. Follow the on-screen prompts for the live setup (e.g., choose which optional apps to install).

  5. Once the flashing is complete, reboot the device.

Via zip-install.sh (ADB or terminal, root required, no recovery needed)

This method installs the zip from a running Android system using zip-install.sh.

  1. Connect your device via USB with USB debugging enabled (ADB only β€” skip if using a terminal app on the device).

  2. Open a shell: run adb shell on the PC or open a terminal app directly on the device.

  3. Transfer the flashable zip to your device’s internal storage or microSD card.

  4. Run:

    cd <path/to/my_folder/>
    unzip ./microg-unofficial-installer-*.zip zip-install.sh
    sh ./zip-install.sh ./microg-unofficial-installer-*.zip
    

    The script will flash the zip directly on the running system, without using the recovery.

  5. Follow the on-screen prompts for the live setup (e.g., choose which optional apps to install).

  6. Once the flashing is complete, reboot the device.

Uninstallation

To uninstall re-flash the zip, enable live setup and select Uninstall.

Troubleshooting

Installation fails or device does not boot

  1. If DEBUG_LOG was not already active, enable it before re-flashing:

    adb shell "setprop zip.common.DEBUG_LOG 1"
    
    Then flash immediately without rebooting.
    Logs are saved to debug-a5k.log on either the microSD card or internal storage.

    Remember: setprop values are lost on reboot β€” see the Configure section.

  2. Review the Known issues page before reporting a new bug.

  3. If the issue is not listed, open an issue on GitHub with as much detail as possible β€” see Support for what information to include.

Tip

To flash without making any changes use the DRY_RUN mode (useful for testing):

adb shell "setprop zip.microg-unofficial-installer.DRY_RUN 1"
Then flash immediately without rebooting.
The installer will run through all steps but will not write anything to the device.

Remember: setprop values are lost on reboot β€” see the Configure section.

Live setup timeout is too short

Extend the timeout before flashing, then flash immediately without rebooting:

adb shell "setprop zip.microg-unofficial-installer.LIVE_SETUP_TIMEOUT 8"

The value is in seconds. The default is 4 seconds.