zoukankan      html  css  js  c++  java
  • mumu模拟器安装xposed--如何在android模拟器上进行root

    问题描述

      安装xposed表示failed to access root权限,新版的mumu模拟器没有了root选项,需要自己root。

    1.先关掉应用兼容性,然后重启

      电脑一般都是x86的,mumu模拟器的本地命令其实都是这个格式的。可如下进行查看

    #链接模拟器
    >adb connect 127.0.0.1:7555 * daemon not running; starting now at tcp:5037 * daemon started successfully connected to 127.0.0.1:7555
    #随便从模拟器系统路径下取回一个命令文件,这里选择mv命令 >adb pull /system/bin/mv c:apkmv /system/bin/mv: 1 file pulled. 5.0 MB/s (415716 bytes in 0.079s)
    #查看其ELF Header,其
    Machine值是Intel 80386
    >readelf -h c:apkmv
    
    ELF Header:
      Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
      Class:                             ELF32
      Data:                              2's complement, little endian
      Version:                           1 (current)
      OS/ABI:                            UNIX - System V
      ABI Version:                       0
      Type:                              DYN (Shared object file)
      Machine:                           Intel 80386
      Version:                           0x1
      Entry point address:               0x6030
      Start of program headers:          52 (bytes into file)
      Start of section headers:          414556 (bytes into file)
      Flags:                             0x0
      Size of this header:               52 (bytes)
      Size of program headers:           32 (bytes)
      Number of program headers:         9
      Size of section headers:           40 (bytes)
      Number of section headers:         29
      Section header string table index: 28

      兼容性设置让只支持arm架构的应用也能安装在模拟器上,但是装xposed的过程里将会往模拟器 /system/bin或/system/xbin里复制一些新的命令,这些命令有些是通过XposedInstaller安装的,而XposedInstaller是根据检测出来的系统架构选择相对的命令进行安装的,打开兼容性时XposedInstaller认为系统的架构是arm,这样安装的命令是不能在模拟器上执行的。

    2.对模拟器进行root

      mumu模拟器可用很多真机需要root才能用的命令,比如pull,但是其其实是没root的。没root其实就是没有su命令,不能通过su获得root权限,root其实是linux的一个用户。这里安装supersu2.82.apk,安装后打开显示没有su命令,这个应用其实是管理其它应用的,当其它应用需要root权限时跟它申请,它会跳出对话框让你选择是否同意。但现在supersu也没有root权限,这是因为模拟器里就没有su这个命令。下载supersu对应的Recovery Flashable.zip,这里头有各种架构下的su命令,目标就是选择适合的su命令复制到模拟器可执行目录下。具体做法如下

    #选择x86文件夹下的su.pie复制到 /system/xbin/su
    #经测试复制到/system/bin/su不行
    #选择su.pie是因为mumu模拟器是android 6.0属于较高版本
    >adb push c:SuperSU-v2.82-201705271822x86su.pie /system/xbin/su
    #修改su的权限为可执行文件
    >adb shell >su root >cd /system/xbin/su >chmod 06755 su

    #安装些啥,照着做
    >su --install

    #打开守护进程
    >su --daemon&

    #Set SELinux to Permissive
    >setenforce 0

     这里可重启下模拟器在打开supersu会下载些文件,之后就可用了。到此,模拟器算是root了。

    3.用XposedInstaller安装xposed

      下载XposedInstaller_3.1.5.apk安装,傻瓜式安装即可。期间supersu会弹出对话框选择同意,别错过对话框。装好后最好重启下模拟器。

    4.记得重新打开兼容

    主要参考

    1.MuMu模拟器怎么安装Xposed框架

      有点过时,新版的mumu模拟器没有root选项了,需要自己root,这也是我遇到的真正问题。

    2.Rooting the Android Emulator – on Android Studio 2.3 (Android 4.4+)

           主要根据这个来,因为mumu模拟器可直接往/system/xbin目录push文件,省略了一些步骤。

  • 相关阅读:
    卸载cuda,以及N卡驱动
    ubuntu 16.04 从gcc 5.4 安装gcc 5.3.0
    Check failed: status == CUBLAS_STATUS_SUCCESS (13 vs. 0) CUBLAS_STATUS_EXECUTION_FAILED
    ubuntu16.04 caffe cuda9.1 segnet nvidia gpu安装注意的点
    ubuntu16.04安装docker
    进程管理
    Dev TextEdit 只输入数字
    dev gridcontrol添加右键菜单
    WinForm rdlc 报表自定义datatable数据源
    DevExpress GridControl使用方法总结2 属性说明
  • 原文地址:https://www.cnblogs.com/qq2523984508/p/10381123.html
Copyright © 2011-2022 走看看