How to Root an Android Emulator?

28,607

Solution 1

You can use https://www.genymotion.com/. All devices created are rooted by default. For example start a device then type adb shell command. It will open a rooted shell.

Solution 2

When working with android emulators, just do:

  • adb.exe root - restart adbd with root permissions
  • adb.exe unroot - restart adbd without root permissions

You can find adb.exe at: android_sdk\platform-tools\

You can confirm if the device is rooted by doing:

adb.exe shell

Inside the shell type: whoami. Then type exit to exit the shell

Example

P:\Android\sdk\platform-tools>adb.exe shell
generic_x86:/ $ whoami
shell
generic_x86:/ $ exit
P:\Android\sdk\platform-tools>adb.exe root
P:\Android\sdk\platform-tools>adb.exe shell
generic_x86:/ # whoami
root
generic_x86:/ # exit
P:\Android\sdk\platform-tools>adb.exe unroot
P:\Android\sdk\platform-tools>adb.exe shell
generic_x86:/ $ whoami
shell
generic_x86:/ $ exit
Share:
28,607
wootank
Author by

wootank

Updated on July 05, 2022

Comments

  • wootank
    wootank 11 months

    I know there are quite a few question like this around but none of them really seems to work for me.

    I am writing a program that automatically updates and installs itself, however to install the update it requires user confirmation but I do not want this as the device I will deploy on will never be physically used by anyone. So to try work around this I want to root the device and use a runtime command in the code to get it to just install.

    To test this out I want to try it on the (AVD) emulator first however it (obviously) needs to be rooted. So how would i go about this?

    I have tried commands in the adb shell (and out of it with the adb shell) like:

    mount -o rw,remount -t yaffs2 /dev/block/mtdblock03 /system  
    push su /system/xbin/su  
    chmod 06755 /system  
    chmod 06755 /system/xbin/su
    

    and a few others I can't find again at this moment but they will always give me errors such as cannot stat 'su' and stuff like that (will edit if i can find the commands and recreate again) or they just don't say anything and it doesn't appear to work.

    If it helps i'm using xamarin in visual studio.

  • Speedz
    Speedz over 6 years
    While it simplifies things a bit, it requires an active connection and account with their service. As well as more system overhead by needing vbox. It also is not rooted in the sense that applications that require root get that access as one would expect from a "rooted" phone. Also file system commands as su in shell don't seem to have any different result from the OP's mentions trying to chmod and such.
  • Madeyedexter
    Madeyedexter almost 6 years
    after rooting it still shows me as shell, I am on windows 10, running Noughat on my AVD
  • user1845593
    user1845593 almost 6 years
    did you try to run cmd.exe as administrator? might help
  • user1845593
    user1845593 almost 6 years
    Sorry I don't know what could be happening. For me the steps above did work with the original emulators from google.
  • UDID
    UDID over 3 years
    @Madeyedexter this is happening with you because the emulator which you are running are the one which have a playstore. run the device which not have a play store. It will root.
  • Admin
    Admin over 3 years
    Is there a way to get root access with play store version?
  • FragmentalStew
    FragmentalStew almost 2 years
    This is all well and good, but how do I then give root access to an app?