Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to Root an Android Emulator?

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.

like image 986
wootank Avatar asked Jan 29 '16 02:01

wootank


People also ask

Can I root android emulator?

Please note that android emulators already are "rooted". You do not need to do anything to get a root adb shell, as it already runs as root by default.

What does root mean in emulator?

Rooting is the process of allowing users of the Android mobile operating system to attain privileged control (known as root access) over various Android subsystems.


1 Answers

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
like image 73
user1845593 Avatar answered Sep 17 '22 20:09

user1845593