模拟器获取root权限

时间:2024-02-18 14:54:41

模拟器获取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