How to install Magisk on Android Emulator

In this article, let’s see how to install Magisk on an Android emulator – both official Android emulator and Android x86 Project on VirtualBox.

Install Magisk On Official Android Emulator

Works on Android API 22 – 30,S (except 28)

  1. Grab Magisk.zip (or Magisk.apk) and put in this directory. If you’re using ARM system image, replace busybox with busybox_arm.
  2. For patching the ramdisk with magisk, your AVD must be already created
  3. Make sure you backup the untouched ramdisk.img from <sdk_home>/system-images/<platform>/*/ramdisk.img. You will need it everytime you want to patch ramdisk with magisk (for the first time and also for subsequent magisk updates).
  4. Clone this repository and copy the original ramdisk.img into the clone’s folder.
  5. Start the newly created AVD.
  6. There are three ways to patch ramdisk:
    • Execute patch.sh or patch.bat to install Magisk (pre-downloaded) on the ramdisk.img
    • Alternatively, you can execute patch.sh canary or patch.bat canary to install latest canary Magisk on the ramdisk.img. This requires AVD internet connectivity towards github. Note: If choosing to use ‘patch.sh’, you might need to run dos2unix patch.sh first so that the script has propper line ending. This is needed when using for example github for desktop, which changes line ending to CRLF instead of LF
    • If you prefer patching by MagiskManager, execute patch.sh manager or patch.bat manager, it will create a fake boot.img on internal storage. We then launch MagiskManager and click Install and select boot.img to patch it. When finished, execute patch.sh pull or patch.bat pull to get the patched ramdisk.img. This method is mainly for Released version of Magisk.
  7. When finished, copy the patched ramdisk.img back to AVD directory.
  8. Power off and restart (cold start) the emulator
  9. Recommended: update magisk manager
  10. Enjoy Magisk ????

Install Magisk On Android x86 Project on VirtualBox

Only test on Android 8.1

  1. Grab Magisk.zip (or Magisk.apk) and put in this directory.
  2. Bring up Android system and establish adb connection.
  3. Execute prepare_image.sh or prepare_image.bat to grab initrd.img and ramdisk.img on hard drive.
  4. Execute patch_vbox.sh or patch_vbox.bat to patch initrd.img and ramdisk.img
  5. Execute install_vbox.sh or install_vbox.bat to install patched images on hard drive.
  6. Restart machine and enjoy Magisk ????

Reference: https://github.com/topjohnwu/Magisk/issues/2551#issuecomment-608998420

Notes

Emulator Versioncommand-line patchmanager patch
Android SCanary (22001)Canary (22001, w/ built-in su)
Android 22 – 30Canary (22001)21.4 (w/ manager 8.0.7)