从创建一个emulator开始,逐步到root了它。
在文章结尾,我会将大家一些可以遇到的问题与解决方法写出来。
一, 新建一个模拟器。
就会弹出sdk and avd manager
new -> name: Android2.2
Target:Android 2.2 -API Level 8
Size: 256
Built-in: HVGA
Hardware:
Abstracted LCD density 160
Device ram size 256
然后点击Create AVD,这样就简单创建一个emulator。
接下来,要做的就是将你的sdk中-->platforms-->android- 8-->images-->system.img 拷贝到 /home/user/.android/avd/Android2.2.avd/目录下(windows用户是放在X:/Users/user /.android/avd/Android2.2.avd,X:代表你的系统盘)。
二,运行模拟器。
三,将su与superuser.apk文件拷贝到android系统中。
1,先将emulator文件系统赋予读写权限(rw)
进入了emulator的终端
会出现一堆东西,但我们只关注这个
/dev/block/mtdblock0 /system yaffs2 ro 0 0
现在我们要将它挂载为读写,
这样就挂载成功了。
退出emulator的终端
2, 将su 与 superuser.apk文件 拷贝到android系统中
su与superuser.apk文件在很多刷机包里也有,为了方便大家,我上传一份。
下载地址为:http://download.csdn.net/source/3355218
push failed: xxxxxxxx Out of memory
emulator -avd avd文件名 -partition-size 256
adb remount
adb push xxxx这样就可以把这两个文件拷贝到emulator系统中。
3, 修改文件权限
大家 可以再次输入: ls -l 查看权限和所属用户与所在组是否已经更改。
以下是修改superuser.apk的权限
4, 删除SdkSetup.apk
这一步要删除/system/app/SdkSetup.apk这个文件,不删除的话,我们之前所做的就白费了,它会将系统文件还原。
然后就将emulator(模拟器)关掉。
四, 删除/home/user/.android/avd/Android.avd/目录下的cache.img userdata.imp和userdata-qemu.img删除
好了,这样就将emulator root了,再次打开emulator试试看。测试有没有root成功的方法就是在emulator有个程序Dev Tools里的一个Terminal emulator工具,打开它,然后输入 su命令,就是弹出授权的东西,选择 allow,这时会发觉终端里的$变成了#,这就证明我们root成功了。
五,请注意的问题
1:找不到android, adb , emulator等命令。
这些命令在sdk的platforms-tools与tools文件夹下可以找到,大家可以将它们写入path环境变量里,方便使用。
2:输入adb push su /system/bin/ 时可能会出现Read-only file system 错误。
出现这个问题的原因是没有挂载system,请根据文章的步骤去挂载就行了。
3:输入 adb push su /system/bin/ 时可以会出现Out of memory 的错误。
出现这个问题的原因是可能你打开emulator的方法有误,请用这个命令打开emulator -avd Android2.2 -partition-size 128
通常在eclipse里打开或者在android中打开都可能会出现这种错误。
4,没有root成功。
请检查有没有将system.img放到指定目录
请检查有没有将SdkSetup.apk删除
请检查有没有将cache.img userdata.imp和userdata-qemu.img删除