免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
Android 模擬器 Root 和 SuperSU 安裝

Android 模擬器 Root 和 SuperSU 安裝

文章目錄

  • Android 模擬器 Root 和 SuperSU 安裝
  • 前言
  • 環(huán)境說(shuō)明
  • 安裝步驟概述
  • 1. 創(chuàng)建模擬器并獲取 root 權(quán)限
  • 2. 設(shè)置 SuperSU 所需環(huán)境
  • 3. 安裝 SuperSU App
  • 測(cè)試
  • SuperSU 工作原理
  • 參考

前言

有時(shí)需要在 Android 模擬器上測(cè)試特定功能,需要使用到 Root 權(quán)限,例如訪問(wèn)某些系統(tǒng)配置、修改系統(tǒng)文件等。通常情況下在 adb shell 的環(huán)境下使用 su 命令以 Root 身份執(zhí)行相關(guān)命令即可滿足需求,但是還有命令行難以滿足的情況,例如給一個(gè)第三方應(yīng)用授予 Root 權(quán)限(賦予應(yīng)用使用 su 命令的權(quán)限),如果直接使用命令修改 su 文件權(quán)限,使特定應(yīng)用可以訪問(wèn),不僅難以控制,而且可能造成濫用 Root 權(quán)限的安全風(fēng)險(xiǎn)。所以需要一個(gè)統(tǒng)一管理 Root 權(quán)限授予的工具,那么可以使用 SuperSU 工具。

SuperSU 是 Android 系統(tǒng)上著名的 Root 權(quán)限管理工具,安裝此軟件后,可以方便的對(duì) Root 權(quán)限進(jìn)行管理,那么后面安裝 Xposed 等依賴 Root 的工具時(shí)就很容易了。

在 Android 真機(jī)上安裝 SuperSU 的方比較容易,只需要獲得 Root 權(quán)限即可快速安裝,在 Android 模擬器上安裝略有不同。

下面是在 Android 官方模擬器上獲取 Root 權(quán)限和安裝 SuperSU 的方法。

環(huán)境說(shuō)明

使用了如下環(huán)境進(jìn)行操作:

  • Android Studio 4.0.1。Android 開(kāi)發(fā)集成環(huán)境,方便打開(kāi) AVD(Android Virtual Device),創(chuàng)建模擬器

  • 官方模擬器鏡像 API 27(Android 8.1)。使用 Android 8.1 是為了安裝 Xposed 最新版本

  • Ubuntu 20.04.1 LTS。使用的操作系統(tǒng)版本

  • SuperSU 2.8.2。最新的 SuperSU 軟件的版本

安裝 SuperSU 時(shí)首先需要獲得 root 權(quán)限,如果直接創(chuàng)建默認(rèn)模擬器虛擬設(shè)備,并且直接安裝 Supersuer.apk 是不行的,可參考如下詳細(xì)步驟來(lái)進(jìn)行安裝。

安裝步驟概述

  1. 創(chuàng)建模擬器并獲取 root 權(quán)限;
  2. 設(shè)置 SuperSU 所需環(huán)境;
  3. 安裝 Superuser.apk。

1. 創(chuàng)建模擬器并獲取 root 權(quán)限

首先從 Android Studio 右上角,點(diǎn)擊一個(gè)手機(jī)右下角有 Android 機(jī)器人圖標(biāo)的按鈕(AVD Manager),打開(kāi) AVD 管理界面。

然后選擇 [+ Create Virtual Device] 創(chuàng)建一個(gè) Android 模擬器。

[Hardware] 可隨意選擇,這里選擇 [Pixel 2],[System Image] 這里選擇了 [X86 Images] 中的 Oreo-27-x86-Android 8.1 (Google APIS)(注意:這里一要選擇后面有 Google APIS 的鏡像,否則不能獲取 Root 權(quán)限)。

名稱這里設(shè)置為 suavd。創(chuàng)建后,此時(shí) avd 列表中出現(xiàn)一個(gè)名為 suavd 的模擬器。

接下來(lái)獲取 Root 權(quán)限,非常簡(jiǎn)單,模擬器已經(jīng)提供了 Root。

在 Shell(Unix、Linux)或 DOS(Windows)中輸入如下命令,即可使用 Root 身份進(jìn)入 Shell:

$ adb shell
generic_x86:/ $ su
generic_x86:/ #

或者:

$ adb root
$ adb shell
generic_x86:/ #

提示:如果使用了非 Google APIs 的鏡像,進(jìn)入 adb shell 后將不支持 su 命令;如果輸入 adb root 將會(huì)出現(xiàn)如下錯(cuò)誤提示:

adb root:
adbd cannot run as root in production builds

2. 設(shè)置 SuperSU 所需環(huán)境

有了 Root 權(quán)限,接下來(lái)為安裝 SuperSU 做準(zhǔn)備,SuperSU 本身是一個(gè) Root 權(quán)限管理軟件,但本身并不具有 Root 權(quán)限,要安裝它,需要授予它 Root 權(quán)限。

SuperSU 包含一個(gè) su 可執(zhí)行文件和一個(gè) Superuser.apk,只需要把 SuperSU 提供的 su 可執(zhí)行文件替換系統(tǒng)的 su 文件,并且給予權(quán)限 -rwsr-sr-x (6755) 即可。

一般在實(shí)際設(shè)備上有兩種方式替換文件:

  1. 手動(dòng)將 SuperSU 的 su 文件替換系統(tǒng)文件,需要 Root 權(quán)限;
  2. 通過(guò) Recovery 模式直接將 su 文件已補(bǔ)丁包的形式刷入。

對(duì)于模擬器來(lái)說(shuō),它沒(méi)有 Recovery 模式,是直接使用 img 鏡像啟動(dòng)的,所以只能使用第一種方法。

首先下載 SuperSU 的相關(guān)文件:

在這里下載:https://supersuroot.org/download/

選擇 Recovery V2.82 Flashable.zip 進(jìn)行下載,里面包含各個(gè)架構(gòu)所需的 su 文件,以及 Superuser.apk 安裝包。

現(xiàn)在查看模擬器原始的 su 文件位置:

generic_x86:/ # which su
generic_x86:/ # /system/xbin/su

根據(jù)模擬器架構(gòu)(這里是 x86),取出壓縮包中的 su.piesu 文件,

這里對(duì)于 Android 5.0 版本及之上的設(shè)備來(lái)說(shuō),需要使用 su.pie 文件,它是使用 -fPIE 標(biāo)記編譯的位置無(wú)關(guān)的可執(zhí)行文件,具有地址空間隨機(jī)化特性。

上面已經(jīng)有了 Root 權(quán)限,現(xiàn)在可以進(jìn)行替換了。

首先打開(kāi)創(chuàng)建的模擬器 suavd(點(diǎn)擊綠色三角形),然后進(jìn)入并查看模擬器的 su 命令所在的路徑:

$ adb shell
generic_x86:/ # which su
/system/xbin/su

下面進(jìn)行替換:

$ adb root
$ adb remount
$ adb push su.pie /system/xbin/su
adb: error: failed to copy 'su.pie' to '/system/xbin/su': remote couldn't create file: Read-only file system

adb remount 是為了將 /system 掛載為可寫(xiě)。

然而出現(xiàn)了報(bào)錯(cuò),提示 /system 是只讀文件系統(tǒng),無(wú)法寫(xiě)入文件。解決辦法如下:

關(guān)閉模擬器,使用命令行重新啟動(dòng)模擬器,并指定 -writable-system 選項(xiàng)(emulator 程序在 Android SDK 的 emulator 路徑中,如果配置了環(huán)境變量,可以直接使用 emulator 命令,這里使用了絕對(duì)路徑):

$ ~/Android/Sdk/emulator/emulator -avd suavd -writable-system

此時(shí)模擬器的 /system 就具備可寫(xiě)屬性了,查看模擬器的文件路徑(在 ~/.android/avd/suavd.avd),會(huì)發(fā)現(xiàn)一個(gè) system.img.qcow2 文件,它是模擬器的虛擬文件系統(tǒng),目的是將只讀鏡像 system.img 具備可寫(xiě)的特性,修改 /system 的內(nèi)容將被保存在 system.img.qcow2 中。

如果不使用 -writeable-system 選項(xiàng)將不會(huì)創(chuàng)建這個(gè)文件,那么 /system 也就不可寫(xiě)。

現(xiàn)在重新執(zhí)行上面的命令即可完成替換:

$ adb root
$ adb remount
$ adb push su.pie /system/xbin/su
su.pie: 1 file pushed. 14.1 MB/s (104012 bytes in 0.007s)

可以了,接下來(lái)按部就班設(shè)置 SuperUS:

$ adb shell
generic_x86:/ # chmod 6755 /system/xbin/su

generic_x86:/ # ls -al /system/xbin/su                                         
-rwsr-sr-x 1 root shell 104012 2008-02-29 03:33 /system/xbin/su

generic_x86:/ # su --install

generic_x86:/ # su --daemon&                                                   
[1] 3844

generic_x86:/ # setenforce 0
[1] + Done                 \su --daemon

上面命令解釋如下:

  1. 設(shè)置權(quán)限,使 SuperSU 提供的 su 可執(zhí)行文件能夠被所有應(yīng)用執(zhí)行;
  2. 初始化安裝 su;
  3. 設(shè)置 su 守護(hù)進(jìn)程;
  4. 關(guān)閉 SELinux 安全策略,解除 Root 權(quán)限的限制。

這樣就完成了 SuperSU 環(huán)境的設(shè)置。

提示:如果高于 Android 5.0 版本使用了 su 文件替換,而不是 su.pie ,將會(huì)出現(xiàn)如下情況:

generic_x86:/ # su --install
"su": error: Android 5.0 and later only support position-independent executables (-fPIE).

3. 安裝 SuperSU App

在環(huán)境設(shè)置完畢后,直接安裝 Supersuer.apk 即可,在壓縮包中 common/Superuser.apk 中。

$ adb install Superuser.apk 
Success

安裝后打開(kāi)在模擬器中打開(kāi),顯示如下,則安裝成功,如果顯示 Root undetected,則安裝失敗,按照上面步驟進(jìn)行檢查。

這里選擇 CANCEL 就可以,如果選擇 CONTINUE 更新文件,可能會(huì)卡在開(kāi)機(jī)界面導(dǎo)致無(wú)法啟動(dòng)系統(tǒng)。

為了保證模擬器下次啟動(dòng)能夠正常運(yùn)行 SuperSU 保證 Root 狀態(tài),可以創(chuàng)建一個(gè) Snapshot(快照),點(diǎn)擊模擬器右下角的溢出菜單,點(diǎn)擊 [TAKE SNAPSHOT],創(chuàng)建一個(gè)快照,重命名為 root。

下次啟動(dòng)模擬器,從這里直接運(yùn)行快照,將恢復(fù)到 Root 時(shí)的狀態(tài)。

注意:再次啟動(dòng)模擬器時(shí),不能從 Android Studio 中的 AVD Manager 直接啟動(dòng),依然需要使用命令行加 -writable-system 選項(xiàng)啟動(dòng),因?yàn)槟J(rèn)的啟動(dòng)不具備 /system 寫(xiě)權(quán)限。

測(cè)試

為了測(cè)試 SuperSU 是否可用,這里選擇安裝 Xposed 框架進(jìn)行測(cè)試。

$ adb install XposedInstaller_3.1.5.apk
Success

進(jìn)入主界面,點(diǎn)擊 INSTALL/UPDATE 安裝 Xposed 將會(huì)出現(xiàn) Root 授權(quán)界面,點(diǎn)擊授權(quán)后,重啟,成功激活 Xposed 框架。


SuperSU 工作原理

根據(jù)開(kāi)源版本的 superuser 了解 SuperSU 工作原理:

  1. daemonsu 為 su 啟動(dòng)的守護(hù)進(jìn)程;
  2. 現(xiàn)在第三方應(yīng)用開(kāi)始調(diào)用 su 命令,請(qǐng)求申請(qǐng) Root 權(quán)限;
  3. su 是一個(gè)可執(zhí)行文件,內(nèi)部與 daemonsu 進(jìn)行通信,發(fā)送執(zhí)行命令請(qǐng)求;
  4. daemonsu 創(chuàng)建 sush 子進(jìn)程,sush 進(jìn)程使用 am(Activity Manager)命令啟動(dòng) Superuser 應(yīng)用,請(qǐng)求授權(quán),出現(xiàn)用戶授權(quán)界面;
  5. 授權(quán)通過(guò),Superuser 應(yīng)用通過(guò) socket 返回給 sush 用戶授權(quán)結(jié)果,通過(guò)授權(quán),則 sush 選擇是否執(zhí)行請(qǐng)求的命令。

時(shí)序圖如下:

參考

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
使用Dirty COW獲取T-Mobile LG V20機(jī)型Root權(quán)限
手機(jī)要ROOT,大家都知道的操作,你再不知道就out了
手動(dòng)root android 模擬器(emulator)詳細(xì)過(guò)程
android adb root方法
(轉(zhuǎn))adb shell獲取root權(quán)限
修改Android模擬器的HOST
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服