root Android 模拟器
参考文档:http://blog.csdn.net/xbalien29/article/details/22661479
本文以2.3.3版本系统为目标。
一 准备工作
首先我们需要准备3样工具:su , superuser.apk, busybox , mkfs.yaffs2.arm。这三个工具可以在:下载。
二 开始root
1 由于我们需要将su和busybox,push到/system/文件目录下,而此文件默认是以Read_Only模式挂载的,所以我们首先需要将该文件的挂载模式该为可读可写模式:
abd shell mount -o remount,rw /dev/block/mtdblock0 /system
2 push文件到合适目录
使用如下命令:
adb push su /system/bin
adb shell chmod 6755 /system/bin/su #一定是6755,这里使用了suid的特性!
adb push busybox /system/xbin
adb shell chmod 755 /system/xbin/busybox
可能会出现的问题:
1、在执行adb push su /system/bin的时候可能会报错: out of memery。出现这个问题原因很多,如使用eclipse启动模拟器等。
解决方法:首先去~/.android/avd/yourEmulatorName.avd 中查看hardware-qemu.ini文件中的配置条目:
disk.systemPartition.size = 238m (大小根据自己实际情况不定,这表示系统启动后原本/system目录的整体大小),由于我们要向该目录中写入文件,
所以我们必须将这个值扩大,所以需要使用如下命令启动模拟器:
emulator -avd yourAvdName -partition-size 300 //这表示启动后的模拟器的/system目录占300M ,这样就不会报错了。
3 安装superuser.apk
4 检验
现在我们就可以在adb shell中 使用busybox + CMD来使用busybox提供的命令了
三 保存root状态
要想保存模拟器的root状态,我们需要替换该模拟器的system.img文件。这个文件在sdk/system-image/android-*/arm/目录下。
1 生成当前模拟器的镜像文件
这里,我们在/data目录下新建文件夹filename:
adb shell mkdir /data/filename
然后push文件:
adb push mkfs.yaffs2.arm /data/filename
改变执行权限:
adb shell chmod 777 /data/filename/mkfs.yaffs2.arm
执行:
./mkfs.yaffs2.arm /system /data/filename/my_system.img
等待执行完毕,会提示build ok.
最后把它提取出来
adb pull /data/filename/my_system.img (需要等一会)
2 替换镜像文件
进入sdk/system-image/android-*/arm/目录,使用my_system.img替换原来的system.img
至此完美收工!!
root Android 模拟器的更多相关文章
- 【Android】Android模拟器快速root
启动Android模拟器,开始-运行-输入cmd,运行命令行 adb shell mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system ...
- 第三方Android 模拟器流畅速度快,适合开发人员
“工欲善其事,必先利其器.” 使用Android模拟器开发和调试应用肯定比使用真机方便.但相比XCODE的IOS模拟器,Android SDK自带的AVD实在不争气,不过一些第三方的模拟器却表现不俗! ...
- Android模拟器访问本地的apache tomcat服务
1. 在官网http://tomcat.apache.org/上下载tomcat,根据自己的电脑下载相应的文件 2.将apache-tomcat-6.0.37-windows-x64.zip包解压到本 ...
- 【转】使用命令行方式创建和启动android模拟器
原文网址:http://blog.csdn.net/tiandinilv/article/details/8953001 1.Android模拟器介绍 Android中提供了一个模拟器来模拟ARM核的 ...
- 在Hyper-V上安装RemixOS 的Android模拟器
不想用实体机,想不想弄个快速的Android虚拟环境,今天我们就来说说把Android模拟器(RemixOS)安到Hyper-v上的办法. 1. 下载RemixOs 或者直接去 论坛获得下载地址 2 ...
- 【Android Studio安装部署系列】三十二、Android模拟器Genymotion安装使用教程详解
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 一.注册\登录 打开Genymotion官网,https://www.genymotion.com/ ,首先点击右上角的Sign in进行 ...
- Android模拟器基本使用和常用工具介绍
注:其中部分内容参考网上资源 1.Android模拟器介绍 Android中提供了一个模拟器来模拟ARM核的移动设备.Android的模拟器是基于QEMU开发的,QEMU是一个有名的开源虚拟机项目(详 ...
- 通过CMD命令行创建和使用Android 模拟器 AVD
进行Android APP测试时,若手持android手机设备稀少的情况下,我们可以通过创建Android模拟器AVD来代替模拟android手机设备,本文就具体介绍如何创建和使用AVD. 1.创建A ...
- 使用Fiddler抓取Android模拟器中的Android_APP请求
对Fiddler的设置:在https://www.telerik.com/download/fiddler网站上下载Fiddler,输入内容后点击下面按钮进行下载: 下载成功后,打开Fiddler进行 ...
随机推荐
- SqlServer触发器的理解
SqlServer触发器是与表事件相关的特殊存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发.比如当对一个表进行操作( insert,delete, update)时就会激活它执行. ...
- 使用U盘给笔记本重做系统
**一.戴尔 Vostro 14 3000 Series **1. 开机时快速按F12进入BIOS界面 **2. 按照下图进行一系列的处理,把U盘被设置为第一启动项 **3. 插入U盘后进入老毛桃PE ...
- 权限组件(15):rbac的使用文档和在业务中的应用
这里用主机管理系统当做示例. 一.将rbac组件拷贝到项目中. 注意: rbac自己的静态文件.layout.html(被继承的模板).bootstrap.fontsize.公共的css.jquery ...
- Groundhog Build Home - HDU - 3932(模拟退火)
题意 给定一个矩形内的\(n\)个点,在矩形中找一个点,离其他点的最大距离最小. 题解 模拟退火. 这个题需要\(x\)和\(y\)坐标随机动的时候多随机几次.否则就WA了.另外由于随机多次,如果温度 ...
- Apache虚拟主机测试
一.虚拟机主机简介 部署多个站点,每个站点,希望用不同的域名和站点目录,或者是不同的端口,或不同的ip,就需要虚拟主机功能.简单的说一个http服务要配置多个站点,就需要虚拟主机.(一句话一个http ...
- Contest1893 - 2019年6月多校联训b层测试1
传送门 密码:waxadyt T1 暴力 对于任意相邻的两个值 中间能到达的最大高度是固定的 加上头尾,判一下就好了 代码//感谢Th Au K #include<bits/stdc++.h&g ...
- 【MySQL】资源列表
1.使用yum方式安装MySQL https://blog.csdn.net/zl570932980/article/details/78934601 2.安装Xtrabackup备份工具 https ...
- 单例模式【python】
在python中,如需让一个类只能创建一个实例对象,怎么能才能做到呢? 思路:1.通过同一个类创建的不同对象,都让他们指向同一个方向. 2.让个类只能创建唯一的实例对象. 方法:用到 _ _new ...
- python 二——函数、装饰器、生成器、面向对象编程(初级)
本节内容 1.函数 2.装饰器 3.生成器 4.类 一.函数 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发“更快更好更强...” 函数式 ...
- laravel5.2总结--软删除
当模型被软删除时,它们并不会真的从数据库中被移除.而是会在模型上设置一个 deleted_at 属性并将其添加到数据库.如果对应模型被软删除,则deleted_at字段的值为删除时间,否则该值为空. ...