Skip to content

connglli/root_avd

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 

Repository files navigation

Rooting the Android Studio AVDs

A quick guide on how to root Android Studio's Android AVDs (and required files!)

Required files can be found in this repository: https://github.com/0xFireball/root_avd

You need the Android SDK and fresh new AVD. For this guide we will call it RootAVD.

This was written and tested on a Nexus 5X AVD running Android 7.1 Nougat on an Ubuntu Linux host. This method should work with a similar setup (Android Nougat) for the forseeable future, though future Android versions may complicate this process further.

  1. Start emulator $SDK_PATH/emulator/emulator with args -avd RootAVD -writable-system -selinux disabled -qemu -enable-kvm
  2. Wait for boot.
  3. Restart adbd as root and remount system as writable: adb root && adb remount
  4. Install Superuser.apk: adb install SuperSU/common/Superuser.apk
  5. Push su and update permissions: you will have to pick the corresponding architecture $ARCH. adb push SuperSU/$ARCH/su /system/xbin/su, then update permissions: adb shell chmod 0755 /system/xbin/su
  6. Set SELinux Permissive: adb shell setenforce 0
  7. Install SuperSU's su to system: adb shell su --install
  8. Run SuperSU's su as daemon. adb shell "su --daemon&"
  9. Finally, open the SuperSU app on the device, and it will tell you the su binary needs to be updated. Accept and use normal installation.
  10. Installation will fail. Don't reboot, just move on. It will still work.
  11. Congratulations! You now have a rooted AVD with SuperSU.

TIP1: Superuser may not always persist after reboot, to fix:

  1. Restart adbd as root: adb root
  2. Run su as daemom: adb shell "su --daemon&"
  3. Root should now work.
  4. Optional: Look for the temporary emulator system image; you can back this up and use it as a patched system.

TIP2: System image modification may not always persist after emulator closed, to fix:

  1. Each time start your emulator, remember to use -writable-system flag on emulator command
  2. To get superuser permission, see TIP1

Releases

No releases published

Packages

No packages published

Languages

  • Shell 100.0%