Sunday, May 31, 2015

windows - Attempt to root AVD running Android 4.4/5.1 is failing


I have referred to various posts but I don't think they seem to work, at all, whatsoever, when it comes to AVDs with Android 4.4 or 5.1.


I felt a need to post this.


So before posting this question, I have understood a basic need for rooting AVDs or even any device.



  • Mount /system in rw mode.

  • Push su binary; optionally busybox binary.

  • do chmod to them, say, 6755. That should be it.



I followed posts and successfully rooted AVD with Android 2.2, however, I tried to repeat the same thing for Android 4.4 or 5.1 (both with SELinux disabled), but it seems that there is some kind of fallback mechanism.


For Android 4.4 and 5.1, /system will be mounted in rw mode, but, as soon as I try to push binaries, it gets reverted back to ro mode. Furthermore, it won't get back to rw mode as well, at least until I do a reboot. I keep getting a permission denied error.


Since these worked for Android 2.2 (with a modification in filesystem type and mountpoint), I intend to execute following commands (for Android 4.4 and 5.1):


adb root
adb shell /system/bin/mount -o rw,remount -t ext4 /dev/block/vda /system
adb push su /system/xbin/su
adb shell chmod 06755 /system
adb shell chmod 06755 /system/xbin/su


Anyone who has managed to root AVDs running these versions of Android are requested to help me in this.


I have experience with Android Studio & Windows.



Answer



I have tested and found that irrespective of the version of Android, if the ABI is arm, armeabi or maybe even mips (not sure), the process of rooting is going to work. They didn't worked for me, as of now, if the ABI is x86 or x86_x64 for Android 4 and 4+.


Below, anything after "#" is supposed to be a helpful comment.


Testing working on - Android 1.x, 2.x, 3.x, 4.0, 4.1, 4.2 (add additional space in subsequent boot):


adb shell mount
# Preferred command: adb shell mount -o rw,remount -t yaffs2 /dev/block/mtdblock0 /system
adb shell mount -o rw,remount /system
adb push su /system/xbin/su

# Appropriate su binary from Chainfire's SuperSu.zip package.
adb shell chmod 06755 /system
adb shell chmod 06755 /system/xbin/su
adb install "Super user.apk"
# Update the su binary for sure.
#adb install "Rootchecker app OR Terminal Emulator app to test."

Testing working on - Android 4.3-4.4 (add additional space in subsequent boot), 5.1, 6.0:


adb shell df
# See the available space in /system

adb shell mount -o remount,rw /system
adb push su /system/bin/su
adb shell chmod 0755 /system/bin/su
adb push su /system/xbin/su
adb shell chmod 0755 /system/xbin/su
adb shell su --install
adb shell "su --daemon&"
adb shell setenforce 0
# optional and recommended; adb shell mount -o remount,ro /system
adb install "Super user app"

# Update the su binary.
#adb install "Rootchecker app OR Terminal Emulator app to test."

No comments:

Post a Comment

samsung galaxy s 2 - Cannot restore Kies backup after firmware upgrade

I backed up my Samsung Galaxy S2 on Kies before updating to Ice Cream Sandwich. After the upgrade I tried to restore, but the restore fails ...