超简单,安卓模拟器手动root
本文转载自:http://quantoubao.blog.163.com/blog/static/2083211702013870501987/
安装Android SDK安卓模拟器的方法很简单,网上大把,傻瓜式的。不过对其root的方法,网上的版本就不那么好使了。网上的方法从方向性来说是没错的,就是细节没给讲清楚,或者讲错,或者没提到这样root方式对高低不同版本API的区别,导致不少人跟着所谓教程去做都root失败。
我这里以Android4.0.4(API15)为蓝本讲讲适合高版API的Android SDK虚拟机的root方法,很简单的。


没有root之前是这样的,帧缓冲无内容。

Root的第一步,准备工具。就两个文件。①上网搜一个叫做《YAFFS2IMG》的镜像浏览器,暂时建议用1.5版,2.0版我下载几款(当然不是Z版)似乎都有问题。②上这个网址,就是Superuser设计者的网站androidsu.com,下载对应自己模拟器版本的超级授权用户文件(该页面下方有其压缩包)。所谓对应版本,一方面是对应模拟器模拟的CPU版本,是ARM的还是x86的,不能选错。如果你模拟时选了MIP的CPU,那就死了root这条心吧。目前互联网上铺天盖地的教程都没讲清楚这点,还在文中引用第三方下载点的文件,是导致新手操作失败的罪魁祸首!另一方面就是选适合自己模拟器模拟系统的版本,以目前androidsu.com提供的最新正式版破解文件来看,适合Android2.0-4.1的。对于更旧版的(好像没什么root的意义了)可找它的历史版本;对于更新版的可以考虑它的测试版或再等一段时间。下载的话,只要下那个Superuser包即可,已经含有齐全的文件。
Root的第二步,用《YAFFS2IMG》将虚拟机子目录“system-images”内对应目标模拟器使用的系统镜像目录(我这里是“android-15\armeabi-v7a”)内的“system.img”打开。将其根目录下的“build.prop”文件提取到硬盘,用文本编辑工具(如记事本)打开,将其“ro.config.nocheckin=yes”一行删掉。当然,行头加“#”号注释掉也可以,似乎多余。再把改完的“build.prop”导入回镜像中的原来位置替换原文件。记住,把文件权限设为“0644”。必须记住,这里只能是“0644”,别依据其它教程讲的其它权限!
Root的第三步,把第一步下载的Superuser压缩包解开,把里头的一个叫做“su”(无扩展名)的文件导入第二步打开的镜像“bin”目录里,把权限设为“6755”。再把这个“su”导到“xbin”目录中,如果遇到已存在旧文件,直接覆盖,且把权限设为“0755”。记住,前一个是“6755”,后一个是“0755”。别弄错了!网上害人的教程,要么把权限说错(可能它设的权限适合旧旧旧版本的SDK模拟器),要么讲漏了“xbin”这个目录!然后把解压缩包中的“Superuser.apk”导入到镜像的“app”目录中,设权限为“0644”,也不能错!
Root的最后一步,把修改的镜像保存,选择“无ECC/没有FFFF标志”这组参数组合。
得了,这就是Root后的景况。一劳永逸。


上面提到的文件修改别指望在虚拟机中完成,一重启虚拟机就没了。就算用了快照,对其它引用同镜像的AVD也无效。还是这样改镜像最妥当,改一下就全部同镜像的AVD都生效。本方法对安卓 SDK模拟的4.0/4.1可用,至于4.2/4.3,等有新版su再试吧。
请看后续文段《Android SDK模拟器Root方法进阶》
准备工夫除了前文提到通用的《YAFFS2IMG》浏览器外,就是每个权限管理工具的apk文件与对应的su文件。
通用的处理手法就是(实机同样Root方法,实机系统用RE工具或连电脑跑adb命令,虚拟机系统用YAFFS2IMG):
⑴参照我旧文第2步。
⑵将apk文件主文件名改为其原始完整包名,可用幸运破解器看对应包的“Package name”。
⑶将改名后的apk文件塞到目标系统的“system\app”里,权限取0644。
⑷将apk文件用解压缩工具解包,看里头有没有lib目录,有的话,将里头对应cpu目录(armeabi或x86或mip)里的所有文件塞到目标系统的“system\lib”里,权限全取0644。
⑸把su文件放相应位置,并修改权限。根据不同的Root工具,这有几样情况——
①只放“system\bin”,权限是0755,“system\xbin”不得有su。
②只放“system\bin”,权限是6755,“system\xbin”不得有su。
③只放“system\xbin”,权限是0755,“system\bin”不得有su。
④只放“system\xbin”,权限是6755,“system\bin”不得有su。
⑤既放“system\bin”,权限是0755;又放“system\xbin”,权限是0755。
⑥既放“system\bin”,权限是6755;又放“system\xbin”,权限是0755。
⑦既放“system\bin”,权限是0755;又放“system\xbin”,权限是6755。
⑧既放“system\bin”,权限是6755;又放“system\xbin”,权限是6755。
例如,对于androidsu.com的方案,要采用情况⑥;对于eu.chainfire.supersu的方案,必须采用情况④。其它Root方案类似。上面讲的不得有su的状态是指虚拟机,因为虚拟机是写镜像,与系统虚拟操作无关,而实机会在重启时自动处理掉这多余的su。
⑹重启目标系统验收成果。

附上IntelX86的su文件:Superuser-3.1.3-x86-signed.zip
附上yaffs2img浏览器:yaffs2img浏览器
超简单,安卓模拟器手动root的更多相关文章
- 安卓模拟器研究-root
http://www.bluestacks.cn/index.asp 下载最新的 BlueStacks 尝试了很久都没有root成功. 百度搜索 找到经验文档 http://jingyan.baid ...
- adb连接安卓模拟器
为了在电脑上玩手机游戏,国内推出了很多安卓模拟器,mumu.夜神.itools.海马等等.我们也可以用他们来做安卓开发,相对genymotion或者android studio自带的模拟器而言,国产模 ...
- 超简单让.NET Core开发者快速拥有CI/CD的能力-Docker版本
超简单让.NET Core开发者快速拥有CI/CD的能力-Docker版本 前言 上一篇自动化测试,全面且详细的介绍了从零开始到发布版本的步骤,这是传统的方式,本次为大家带来的是如何在5分钟内使用上d ...
- 使用fiddler和安卓模拟器抓取安卓客户端数据包
安卓模拟器要选可以桥接网络的,本文中用的是雷电模拟器. 软件的安装都很简单,在此不再赘述. fiddler中的设置 首先,打开fiddler,点击Tools选项卡下的Options. 切换到https ...
- 超简单的CDH6部署和体验(单机版)
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- 超简单的JNI——NDK开发教程
不好意思各位,我按照网上一些教程进行JNI开发,折腾了半天也没成功,最后自己瞎搞搞定了,其实超简单的,网上的教程应该过时了,最新版的AS就包含了NDK编译的功能,完全不用手动javah,各种包名路径的 ...
- Android Studio 1.0.1 + Genymotion安卓模拟器打造高效安卓开发环境
我们开发安卓大多是使用Eclipse和安卓SDK中自带的安卓模拟器.当然,Google早就推出了自己的安卓开发环境——Android studio,在不久前,Google发布了Android Stud ...
- mysql主从复制(超简单)
mysql主从复制(超简单) 怎么安装mysql数据库,这里不说了,只说它的主从复制,步骤如下: 1.主从服务器分别作以下操作: 1.1.版本一致 1.2.初始化表,并在后台启动mysql ...
- 超简单的NDK单步调试方法
令人兴奋的是,ADTr20已经支持JNI单步调试,再也不需要如上这么麻烦的步骤了 你现在需要做的只需以下2步: 1.使用ndk-build编译时,加上如下参数NDK_DEBUG=1,之后生成so文件之 ...
随机推荐
- HDU3038 How Many Answers Are Wrong[带权并查集]
How Many Answers Are Wrong Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Ja ...
- Vector3.forward
这里我要说的就是Vector3.forward ,它等价与 new Vector3(0,0,1):它并不是一个坐标,它是一个标准向量,方向是沿着Z轴向前.这样平移一次的距离就是1米, 如果 Vecto ...
- 十分钟轻松让你认识ASP.NET 5(MVC6)
ASP.NET 5差不多快发布了.自己也学习了有两个月了.今天给没有接触asp.net 5的同学写一个简单地十分钟教程,教你认识一下asp.net 5. 1.安装kvm 首先,你需要以管理员权限打开c ...
- Chrome firefox ie等浏览器空格 宽度不一样怎么办
有点强迫症,之前某个页面用了空格 ,但是在chrome firefox 和ie显示的宽度都不一样,无法对齐. 搜索了一下,很多人都转载了那篇设置成宋体的,可是仍然没对齐,要么ie对齐,要么chrome ...
- 微信小程序之触控事件(四)
[未经作者本人同意,请勿以任何形式转载] >>>什么是事件 事件是视图层到逻辑层的通讯方式. 事件可以将用户的行为反馈到逻辑层进行处理. 事件可以绑定在组件上,当达到触发事件,就会执 ...
- Promiscuous Mode
简介 Monitor mode 与 promiscuous mode 比较 这是在网卡上的的两个特殊的模式,简而言之,都是将网卡的过滤器关闭. Monitor mode 这是我们常常提到的snif ...
- 【MVVM】模型认识理解,
MVVM:模型-视图-视图模型(Model-View-ViewModel) 注意:它是双向绑定的 源:http://www.ruanyifeng.com/blog/2015/02/mvcmvp_mv ...
- 【工具使用】sublime text3
import urllib.request,os,hashlib; h = 'df21e130d211cfc94d9b0905775a7c0f' + '1e3d39e33b79698005270310 ...
- 使用s3cmd操作ceph rgw
安装1.sudo apt-get install -y python-pip sudo pip install s3cmd 2. sudo apt-get install s3cmd 配置 s3c ...
- 鼠标的change事件
原本想着在<input>输入输入框中添加change事件,来实现对输入内容的限定. 当人们在使用时跟多的会直接去点击完成.所以完成按钮的点击事件会和change事件产生 冲突,所以我把验证 ...