模擬器獲取root權限


模擬器獲取root權限

https://juejin.im/post/6844903840026722311

 

1、材料准備


① 下載些東西

②和③讀者可自行到官網下載,或者用讀者打包好的,自取:



pan.baidu.com/s/1hRrPZhRx…,提取碼:cg08

② 創建新AVD

打開Android Studio,依次點擊頂部菜單欄:Tools -> AVD Manager -> + Create Virtual Device...,接着選擇模擬器相關的配置,比如這里我選擇的是:Nexus 5X,點解Next,來到選擇鏡像的頁面:

選擇鏡像時,務必注意以下三點!!!

  • 1、Android 8.0(包含8.0)以下的系統鏡像!!!
  • 2、Target里**不帶(Google APIs)**的鏡像,帶(Google APIs)的是不能Root的!!!
  • 3、ABI為x86的鏡像!!!

舉個例子,筆者選擇的7.0的鏡像:

沒有鏡像的話點Download下載,下載完后點Next進入下一步,這里可以改個簡單AVD的名稱,因為后面要用命令行來啟動,就不用敲那么多,比如我直接改為Test:

點擊Finish,等待AVD模擬器生成:

不用啟動,直接X掉。

③ 勾選安裝

Android Studio依次點擊頂部菜單欄:File -> Settings -> System Settings -> Android SDK。點擊 SDK Tools選項卡,安裝圈住的兩個東西:

安裝后,點擊OK,到此,要准備的東西都准備好了。


2、開始折騰

① 命令行可寫方式啟動AVD

接下來開始折騰,打開命令行終端,cd到android sdk的tools目錄下:


接着鍵入下述命令啟動AVD(Test處改成你的前面定義的模擬器名稱即可):

emulator -avd Test -writable-system
復制代碼

如果你忘記了也沒關系,可以鍵入:emulator -list-avds,查看AVD列表。 成功執行后,可以看到我們的AVD已經運行起來了,終端輸出內容如下:

把這個終端縮小就好,別關掉,關掉的話AVD也會關掉的!!!

② 安裝APK

新建一個終端,cd到android sdk的 platform-tools 目錄下,通過adb命令安裝兩個apk:

安裝完后不要打開!!!


③ 輸入su獲取root權限

解壓下載好的zip包,終端鍵入下述命令:

adb root
adb remount
adb shell 
setenforce 0
復制代碼

流程如圖所示:

接着把x86下的su.pie文件分別push到模擬器的system/binsystem/xbin目錄下:

adb push xxx/x86/su.pie /system/bin/su
adb push xxx/x86/su.pie /system/xbin/su
復制代碼

流程如圖所示:

再接着進入adb shell,修改這兩個文件的權限,安裝su等:

chmod 0755 /system/bin/su
chmod 0755 /system/xbin/su
su --install
su --daemon&
復制代碼

流程如圖所示:

安裝完后就可以打開SuperSu了,打開后會出現如下頁面:

點擊New user,接下來會有如下這個彈框,務必注意!!!

點擊選 CANCEL,不然等下重啟后,等待你的只有Google的開機頁面!!! 會進不了系統,你只能重頭再來一遍了,務必選擇 CANCEL!!!

到此SuperSu就安裝配置完成了:

它只是一個Root權限管理的APP而已,接着打開Xposed Installer,點擊箭頭指向的小雲:

點擊Install安裝Xposed Framework的zip包

等待下載完成:

接着會彈出下圖所示的授權彈窗:

點擊Grant,運行授權,接着會自動安裝,然后會自動重啟:

重啟的過程可能為會稍微久一點,2-3分鍾左右,重啟完打開Xposed Installer就可以看到Xposed安裝成功的頁面了:

以上就是模擬器AVDRoot和Xposed的安裝過程,接着說幾點注意事項!


3、注意事項


② 正確的關閉AVD

可以點擊右上角的x或者直接把運行模擬器的終端關掉

!!!千萬別,去長按電源鍵,然后選Power Off!!!

如果你這樣做,再次打開Super Su:

恭喜,你需要再root一遍了,把這些命令再執行一遍:

adb root
adb remount
adb shell 
setenforce 0
quit
adb push xxx/x86/su.pie /system/bin/su
adb push xxx/x86/su.pie /system/xbin/su
chmod 0755 /system/bin/su
chmod 0755 /system/xbin/su
su --install
su --daemon&
quit
復制代碼

② 正確的啟動/重啟AVD

ROOT以后的AVD就不能使用AVD Manager來啟動了,都需要使用命令來啟動了:

emulator -avd Test -writable-system
復制代碼

如果使用AVD Manager啟動了的話,同樣會喪失root權限,同樣需要重新Root。另外,如果需要重啟設備的話,建議使用:adb reboot 命令來重啟!


一些碎碎念

本節是筆者親測,有效,完整過程,可能你有更好更簡單的方式,歡迎在評論區留言。 另外,本套root方案只適合Android 9.0以下系統,9.0以上的童鞋可以試試用Magisk 來替代SuperSu。還有,Xposed Installer還停留在8.x,並沒有適配9.0以上的系統。 想在9.0以上的手機使用Xposed的話可以了解下:太極Xposed,更多可移步到: xposed.appkg.com/2902.html,自行查看。


參考文獻


============= End
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM