Android技术Android串口调试

Android模拟器获取Root权限

2018-05-24  本文已影响3245人  太白新星

近期突然想root安卓模拟器,因为更改开放的adb端口号,需要以su身份执行。经过一些试错终于root了,特此记录下来,希望可以帮到需要root模拟器的小伙伴。

  1. SuperSU apk管理root授权

  2. Recovery Flashable.zip,包含su文件

  3. 能以可写方式运行的avd

    注:如果可以翻墙你可以选择从官网下载最新版本的1.2文件http://www.supersu.com/download

  1. 启动模拟器

    进入emulator目录,使用命令行形式,以可写形式启动avd。

    我的mac os的emulator路径为:/Users/mac02/Library/Android/sdk/emulator,里边应该有各个cpu架构对应的emulator命令。

    emulator -list-avds查看avd列表

    查看avd列表

    emulator -avd Nexus_5X_API_26 -writable-system启动avd,在我的mac 64位电脑上如果虚拟机用的x86的img则启动会失败报下图错误,把镜像改成x86_64后成功启动。

    x86镜像启动虚拟机报错
  2. 安装SuperSU

    adb install /Users/mac02/Downloads/SuperSU-v2.79-20161205182033.apk

    安装后打开提示su文件没有安装,也就是系统未root

    系统未root提示

  3. 将su文件放入系统

    先以root方式运行adb

    adb root

    adb remount

    然后找到Recovery Flashable.zip解压出来的对应cpu架构的su文件push进系统目录

    adb -e push /Users/mac02/Downloads/SuperSU-v2.79-201612051815/x64/su /system/bin/su

  4. 修改su文件权限

    adb shell

    su root

    cd /system/bin

    chmod 06755 su

  5. 安装su并设置后台驻留,注意是两个横线

    su --install

    su --daemon&

  6. 关闭SE Linux

    setenforce 0

  7. 打开SuperSu,提示已经root
    已经root截图

    有可能提示需要更新su,点击继续然后以常规方式更新su,更新完就可以使用终端模拟器使用su命令了。如果su不更新可能会无法使用su命令,表现是在终端模拟器输入su无法切换到root。

参考资料:https://stackoverflow.com/questions/5095234/how-to-get-root-access-on-android-emulator

上一篇 下一篇

猜你喜欢

热点阅读