模拟器获取root权限
https://juejin.im/post/6844903840026722311
1、材料准备
① 下载些东西
- 1、Android开发者必备的「Android Studio」,没有的话自己去官网下个:developer.android.com/studio?hl=z…
- 2、SuperSU(www.supersu.com/):Root权限管理的工具,两个部分组成:zip包root设备,apk管理root权限。
- 3、XposedInstaller(Xposed for Lollipop/Marshmallow/Nougat/Oreo):Xposed安装器。
②和③读者可自行到官网下载,或者用读者打包好的,自取:
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/bin和system/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