1. 程式人生 > >Android Studio模擬器的root權限

Android Studio模擬器的root權限

found oot 網上 root權限 安卓 內核版本 華為手機 androi 測試

前言

一個安卓練習中用自帶的sqlite3數據庫查看數據的時候,需要通過adb shell進入/data/data/[包名]/databases/目錄中,通過查看創建的數據庫來查看相應的數據或者表。起初是打算在實機上進行測試的,在這裏提一句,如果在實機上測試,則手機必須具有root最高權限。但是由於自己用的是華為手機,如果需要root的話,必須需要到官網上去申請解鎖碼才能利用一鍵root工具來root,總之非常麻煩,而且刷機也不能保證一定成功,所以考慮再三決定使用Android Studio中的模擬器進行測試。但是發現仍然出現了和實機一樣的錯誤"permission denied",雖然搜索了相關教程,提示說可以把su

通過adb pull傳到模擬器內部;而且無法進入adb root模式.....但是操作實在復雜,好在筆者找到一個方法,當然可能只是個例,但是如果有人也遇到這個問題並且網上方法都試過的話,不妨試一試我的辦法。

分析問題

我們通過adb shell直接進入的時候顯示的是這樣的:

@generic_x86:/ $

但是這恰恰表示不是root身份,如果顯示的為:

root@generic_x86:/ #

就說明你已經是以root身份運行的了,不用再繼續看這篇文章了。
問題提示:

/system/bin/sh: su: not found

這並不是找不到su命令,而是因為沒有root權限,也執行不了su命令,這是一個錯誤的循環:想要進入root,但是必須使用只有root權限的命令進入root。

解決方法

查看一下你的模擬器內核版本是不是Android7.0或者以上的,如果是,那是因為Android 7.0的模擬器是沒有root權限的,所以只需要重新安裝一個非Android 7.0版本的模擬器,比如6.0就行了。安裝好模擬器後,通過adb root進入root模式,然後正常操作就好了。
技術分享圖片

技術分享圖片

Android Studio模擬器的root權限