前言

换了苹果全家桶后,手里的安卓设备只剩下一台3G内存的小米4,官方支持的MIUI最高的Android版本为6.0.1(API 23),十分卡顿而且许多app无法运行,于是出现了安卓模拟器的需求。而市面的Android模拟器大多为游戏而定制,几乎没有使用原生AOSP并提供root和拓展性(可安装xposed之类的)。于是我们把目标转向Android Studio自带的模拟器:Android Studio Virtual Device (AVD)

环境

Android Studio 4.1.2

Android 7.1.1 x86 (API 25)

macOS Big Sur 11.4 x86_64

搭建

创建虚拟机

在选择设备型号的时候,选不带“Play Store”的即可,之后选择镜像,根据自己的架构选择x86或arm,这里选择的是x86 Images

images

值得一提的是,Android8.0以上(不含8.0)可能无法安装SuperSU来进行root,可能需要Magisk,而xposed对x86_64的系统支持不是特别好几乎都不支持,而带有Google APIs的镜像并不提供root权限,所以这里选择了Android 7.1.1 x86,理论上也适用于Android 8.0 x86。

获得ROOT权限

选择并下载好镜像后就可以进入系统了,进入系统并不能从Android Studio进入,我们需要用命令进入并附加-writable-system参数:

emulator -avd 模拟器名 -writable-system

接下来我们需要获取root权限:

系统自带的root权限只能从adb调用,并不能给里面的app使用,所以我们利用adb中的root权限刷入SuperSU

首先以root身份运行adb:

adb root
adb remount

之后再进入adb shell,如无意外应该是获得root的shell:

adb shell
generic_x86:/ # setenforce 0

之后我们将SuperSU刷机包下x86目录里面的su.pie文件push到/system/bin和system/xbin目录下:

adb push su.pie /system/bin/su
adb push su.pie /system/xbin/su

之后进入adb shell(root),将su文件设成可执行并安装su:

chmod 0755 /system/bin/su
chmod 0755 /system/xbin/su
su --install
su --daemon&

之后退出adb shell,安装SuperSU程序和Xposed Installer:

adb install supersu.apk
adb install xposedinstaller.apk

安装完成后运行SuperSU,点击New User,之后弹出的对话框询问时候更新二进制,点击取消即可正常使用SuperSU了。

安装Xposed

我们已经获取了Root权限,接下来需要安装Xposed。

打开Xposed Installer,点击安装。这里可能会出现无法获取zip之类的错误,科学上网即可。

安装时需要root权限,允许即可,安装完成后重启就会发现xposed已经安装完成了:

finish

一些问题

这个SuperSU的root权限重启就会消失,消失后需要重新走一遍root流程,xposed则不受影响。

总结

于是我们已经顺利搭建好环境了,再安装逆向或脱壳之后一些模块就能开展工作了。

EOF