android apk 的root 權限和USB adb 權限的區別

uzpy6950 8年前發布 | 27K 次閱讀 Android開發 移動開發

 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 權限就很簡單了。比如在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

 本文由用戶 uzpy6950 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!