mumu模拟器安装xposed--如何在android模拟器上进行root
问题描述
安装xposed表示failed to access root权限,新版的mumu模拟器没有了root选项,需要自己root。
1.先关掉应用兼容性,然后重启
电脑一般都是x86的,mumu模拟器的本地命令其实都是这个格式的。可如下进行查看
#链接模拟器
>adb connect 127.0.0.1: * daemon not running; starting now at tcp:
* daemon started successfully
connected to 127.0.0.1:
#随便从模拟器系统路径下取回一个命令文件,这里选择mv命令
>adb pull /system/bin/mv c:\apk\mv /system/bin/mv: file pulled. 5.0 MB/s ( bytes in .079s) #查看其ELF Header,其Machine值是Intel 80386
>readelf -h c:\apk\mv ELF Header:
Magic: 7f 4c
Class: ELF32
Data: 's complement, little endian
Version: (current)
OS/ABI: UNIX - System V
ABI Version:
Type: DYN (Shared object file)
Machine: Intel
Version: 0x1
Entry point address: 0x6030
Start of program headers: (bytes into file)
Start of section headers: (bytes into file)
Flags: 0x0
Size of this header: (bytes)
Size of program headers: (bytes)
Number of program headers:
Size of section headers: (bytes)
Number of section headers:
Section header string table index:
兼容性设置让只支持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.-\x86\su.pie /system/xbin/su
#修改su的权限为可执行文件
>adb shell >su root >cd /system/xbin/su >chmod su #安装些啥,照着做
>su --install #打开守护进程
>su --daemon& #Set SELinux to Permissive
>setenforce 0
这里可重启下模拟器在打开supersu会下载些文件,之后就可用了。到此,模拟器算是root了。
3.用XposedInstaller安装xposed
下载XposedInstaller_3.1.5.apk安装,傻瓜式安装即可。期间supersu会弹出对话框选择同意,别错过对话框。装好后最好重启下模拟器。
4.记得重新打开兼容
主要参考
有点过时,新版的mumu模拟器没有root选项了,需要自己root,这也是我遇到的真正问题。
2.Rooting the Android Emulator – on Android Studio 2.3 (Android 4.4+)
主要根据这个来,因为mumu模拟器可直接往/system/xbin目录push文件,省略了一些步骤。
mumu模拟器安装xposed--如何在android模拟器上进行root的更多相关文章
- 如何在 Android 手机上实现抓包?
如何在 Android 手机上实现抓包? http://www.zhihu.com/question/20467503 我想知道某个应用究竟在数据提交到哪里,提交了什么.网上的教程太复杂,不想麻烦.有 ...
- 如何在Android手机上进行自动化测试(下)
版权声明:允许转载,但转载必须保留原链接:请勿用作商业或者非法用途 前言 通过阅读本篇教程,你将会了解到: 如何使用Poco对Android原生应用进行测试 Poco支持直接对任何Android原生应 ...
- 如何在Android模拟器上安装apk文件
1.运行SDK Manager,选择模拟器,并运行模拟器 SDK Manager应用 2.将需要安装的apk文件复制到platform-tools目录下(默认在:D:\tools\android\ad ...
- Monkey学习(3)如何在Android模拟器中安装apk
1.运行SDK Manager,选择模拟器,并运行模拟器,我这里用的是已经配置好的模拟器“RedMI” 2.已启动好的模拟器“RedMI” 3.记住需要安装apk文件的位置,我这里放在了F盘的根目录下 ...
- 【转】安装Intel HAXM为Android 模拟器加速,30秒内启动完成
http://www.cnblogs.com/Li-Cheng/p/4351966.html http://www.cnblogs.com/csulennon/p/4178404.html https ...
- 安装Intel HAXM为Android 模拟器加速,30秒内启动完成
要求 必备知识 windows 7 基本操作. 运行环境 windows 7(64位); Android Studio 1.1.0;JDK 1.7.0_75(64位);android-sdk_r24 ...
- 如何在Android手机上进行自动化测试(上)
版权声明:允许转载,但转载必须保留原链接:请勿用作商业或者非法用途 前言 通过阅读本节教程,你将了解到以下内容: 如何在脚本代码中.运行脚本时指定手机 如何填写--device Android:/// ...
- 如何在Android Studio上使用Github
首先,登陆到Github上并创建一个新repository.在屏幕右上角,点击“+”标记,并且选择“New repository”. 现在完成这个表格以新建一个叫做testproject的新repos ...
- 安装Intel CPU的Android模拟器
1. 用Android SDK Manager安装Extras/Intel x86 Emulator Accelarator(HAXM) 2. 用Android SDK Manager安装Androi ...
随机推荐
- WebService学习-第一弹
一:WebService简介(1)简介----百度百科(注意标识的重点) Web service是一个平台独立的,低耦合的,自包含的.基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言 ...
- ASP.NET Core微服务+Tabler前端框架搭建个人博客2--系统架构
功能分析 在整个微服务架构的搭建过程中,我们需要做的第一步就是对服务进行拆分,将一个完整的系统模块化,通过对各个模块互联,共同完成一个系统的工作.既然要做到模块化,那么必须明白你的系统的需求到底是什么 ...
- kindeditor扩展粘贴截图功能&修改图片上传路径并通过webapi上传图片到图片服务器
前言 kindeditor是一个非常好用的富文本编辑器,它的简单使用我就不再介绍了. 而kindeditor却对图片的处理不够理想. 本篇博文需要解决的问题有两个: kindeditor扩展粘贴图片功 ...
- SQL中的Join和Where的区别
一.sql语句中left join.inner join中的on与where的区别 0.各种join操作的概念和作用 left join :左连接,返回左表中所有的记录以及右表中连接字段相等的记录. ...
- 我可能不懂Array.prototype.sort
今天 fix 我们后台系统的一些 bug.系统是基于 beego 和模板开发的,各种前后端代码揉作一团,没有格式,没有 eslint,全局变量满天飞,连 js 代码都有后端的插值,读起来非常 酸爽. ...
- Java多线程之二(Synchronized)
常用API method 注释 run() run()方法是我们创建线程时必须要实现的方法,但是实际上该方法只是一个普通方法,直接调用并没有开启线程的作用. start() start()方法作用为使 ...
- Unity3D热更新之LuaFramework篇[01]--从零开始
前言 因工作关系,需要对手头的项目进行热更新支持.了解后发现,Lua的几个变种:XLua.ToLua(原uLua)和Slua都可以做Unity热更,而ToLua更是提供了一个简易的热更框架--LuaF ...
- vue-15-vuex-store的用法
vue-16-vuex 1, 介绍 对 vue 进行状态管理的, 集中存储所有组件的所有状态, 解决多个组件共享数据的问题. 即, 所有组件可以拿到同样的状态, 组件间共享数据 2, 在之前进行数据交 ...
- tomcat没有编译重新编写的代码
今天在工作的时候,我把项目的mapper.xml的的sql语句改了,但是在启动项目,在页面访问数据的时候,发现控制打印出来的sql语句还是原来的,没有改过来. 在tomcat里找到我的代码,找到我修改 ...
- SpringBoot快速引入第三方jar包
工作中,我们常会用到第三方jar包,而这些jar包往往在maven仓库是搜不到的,下面推荐一种简单.快速的引入第三方依赖的方法: 比如第三方jar包在lib文件夹下,对pom.xml的配置如下: &l ...