如何启动android模拟器(Android 7.1.1 / Nougat)
我很高兴通知社区一个更简单的方法来root android仿真器(从独立的Android SDK运行)
要求:
注意:SuperSU现在已被弃用,但是该方法仍然可以使仿真器成为root用户,并且对于较新的rooting方法将提供更多更新。
使用说明
安装SuperSu.apk
使模拟器的系统分区可写
注意:导航到安装了Android SDK 的工具文件夹,然后通过按住shift键并单击鼠标右键打开其中的命令提示符。
在系统目录中推送su二进制文件
- 提取Recovery flashable.zip(包含不同体系结构的二进制文件)
重要!仅使用与您的avd体系结构(例如x86,arm等)匹配的su二进制文件,并记下提取这些二进制文件的路径。
- 确保您以root用户身份运行adb,并且还需要重新挂载。只需输入这些代码
adb root
adb remount
现在是时候推送su二进制文件了:
这是我成功使用的代码:adb -e push C:\%USERPROFILE%\Desktop\rootemu\x86\su.pie /system/bin/su
(不要管我su二进制文件的具体位置,只要没有空格,任何位置都可以)
如果失败,请尝试将其推送到该目录/system/xbin/su
。另外,对于运行android 5.1及以下版本的模拟器,请使用su
和su.pie
更改su二进制文件的权限
- 接下来,让我们对su binary的权限进行一些修改。我们必须通过adb在模拟器设备中执行此操作:
adb –e shell
su root
cd /system/bin
chmod 06755 su
重要!!注意su二进制路径(我的是/ system / bin)
install
在su二进制文件上设置指令并设置一个daemon
输入代码:
su --install
并设置守护进程:
su --daemon&
重要!!注意间距
将SELinux设置为宽松(即关闭SE Linux)
setenforce 0
差不多了!!打开SuperSU应用程序,可能会要求更新二进制文件,您可以使用Normal方法。
打开任何需要SU权限的应用只是为了仔细检查,实际上SuperSU会询问您是否要授予su权限。
备注
参考中的大多数内容是针对较早的android版本的,因此是我修改了不同命令和路径的原因。
特别鸣谢;
特别感谢Irvin H,在经历了无数次失败之后,以及看到许多用户也需要扎根仿真器之后,我的教程启发了我创建本指南。我希望这也会受益良多
Irvin H:扎根Android模拟器-在Android Studio 2.3((Android 4.4)上
更新资料
正如SaAtomic所说,
这种方法在Android Studio 3.0.1中仍然可行
升级到仿真器版本27.2.9
及更高版本后,它现在可以通过快照功能更轻松地保留根目录(如果无法复制system.img方法):
理想情况下,这更像是使config保持完整状态的虚拟设备休眠,因此保留了所有内容。
快照
现在,您可以为给定的设备配置保存多个AVD快照,并选择在启动仿真器时加载哪些已保存的快照。通过加载快照来启动虚拟设备非常类似于将物理设备从睡眠状态唤醒,而不是从关闭电源状态启动虚拟设备。
这意味着启动仿真器的唯一要求是将-writable-system
参数添加到正常仿真器-avd [avdname]
命令中以启动仿真器。(仅使用模拟器-avd [avdname]运行模拟器不会启动根目录版本/副本,否则可能会导致某些错误)
经过API 22级测试