USB adb 权限是指,当adb 连接手机时,手机中的守护进程adbd 的权限为root 权限,从而它的子进程也具有root 权限。通常假设adb shell 看到是:
Android 4.0 以后版本号:
C:\Users\mtk29\Desktop>adb shell
root@android:/ #
Android 2.3 版本号:
C:\Users\mtk29\Desktop>adb shell
即表明adb 的连接是root 权限的,相反假设看到是$ 即表明是shell 权限
Android 的APK 本身都是不具备root 权限的,假设想启用root 权限。那么就必须借助具有root 权限的进程或者具有s bit 的文件,眼下比較通用的手法是。手机root 后,内置了su到system/bin, 然后普通APP 就可以借助su 命令来达到root 权限切换。
网络上已经有同仁改动su 命令,并通过一个APK 来控制su 命令的权限控制。
如常见的Superuser: http://androidsu.com/superuser/ 这样就可以人为的控制root 权限的使用。((因非常久都没有更新了,仅仅能用于ICS 以及曾经的版本号))
SuperSU: http://forum.xda-developers.com/showthread.php?t=1538053 (更新速度非常快,推荐使用)
综上所叙,假设adb 已经有root 权限。那么让apk 行使root 权限就非常easy了。比方在JB 版本号或者曾经的版本号上:
adb remount
adb push su /system/bin
adb push Superuser.apk /system/app
adb shell chmod 0644 /system/app/Superuser.apk
adb shell chmod 6755 /system/bin/su
adb reboot