赋予ANDROID模拟器root权限2.2

------------------------------------以下模拟器重启后root无效

1.安装模拟器.,网上很多,我就不啰嗦了。

2.建一个模拟器,名字是2.2。内存卡100M .

3.使模拟器拥有root权限。需su 和Superuser.apk (下载地址 ;  PS: cmwrap.apk为测试是否拥有root权限)

3.1。首先把android-sdk-windowsplatformsandroid-8images下的system.img拷贝到模拟器安装目录下

     这是我的路径D:android-sdk_r08-windowsandroid-sdk.androidavdandroid2.2.avd

     (你的可能在C:Documents and SettingsAdministrator.androidavdandroid2.2.avd的默认位置<需要改变默认路径,配置一下环境变量即可.>,实在找不到你搜索下)

在CMD命令行模式下进入 D:android-sdk_r08-windowsandroid-sdk ools (你的路径可能不一样,找到tools文件夹就行)

3.2.   找到emulator.exe,创建快捷方式

右键属性中 目标里输入

D:Aod_softandroid-sdk-windows oolsemulator.exe -avd 2.2 -partition-size 100 -sdcard D:Aod_softandroid-sdk-windows.androidavd2.2.avdsdcard.img

保存。双击执行。会运行模拟器。

     (红色部分自己修改,其中D:Aod_softandroid-sdk-windows oolsemulator.exe为 emulator.exe路径,2.2为模拟器名字,100为内存大小,D:Aod_softandroid-sdk-windows .androidavd2.2.avdsdcard.img为sdcard.img路径)

3.3模拟器启动好后。在cmd.exe命令行里的D:android-sdk_r08-windowsandroid-sdk ools后面输入

Adbpull /system/build.prop 回车。 进入D:android-sdk_r08-windowsandroid-sdk ools,用文本编辑器打开build.prop文件,用”#” 注释掉ro.config.nocheckin=yes行。

3.4然后输入命令行:adb remount 回车 (注:设置/system为可写。重要)

   再输入命令行:adb push build.prop /system/build.prop 回车(注:把修改后的重新写入原处)

3.5解压附件中的su、Superuser.apk ,cmwrap.apk 到D:android-sdk_r08-windowsandroid-sdk ools文件夹(同上修改为你的路径)

3.6输入命令行:

adb push su /system/bin/                回车         (复制su到/system/bin/下)

adb shell chmod 4755 /system/bin/su     回车          (赋予权限)

adb push Superuser.apk /system/app/      回车          (安装superuser到/system/下)

adb push cmwrap.apk /system/app/      回车           (可选,安装cmwrap.apk)

adb shell rm /system/app/SdkSetup.apk   回车  (删除sdksetup,你也可以用adb shell rm/system/app/删除里面不想要的东西,前提是运行不出错)

3.7关闭模拟器,把产生的image文件: .androidavdV_Android2.2.avd下的userdata-qemu.img,userdata.img, cache.img删除掉。

3.8双击刚才建的快捷方式打开模拟器。此时 已经有root权限了。cmwrap.apk会提示你是否赋予它权限。

如果没有root权限,重新在命令行输入 adb shell chmod 4755 /system/bin/su     回车,关闭模拟器,重新打开,就有root权限了。

1)解决adb  out of memory的问题

adb push file /system/..

and meet problems like “failed to copy file to /system/…”, such as:

failed to copy ‘file’ to ‘/system/…’: No space left on device
failed to copy ‘file’ to ‘/system/…’: Out of memory

The resolve method is not using the Eclipse or AVD Manager to start the Android emulator, but by use the command first:

$emulator -avd youravdname -partition-size 128

Then you can try the command “adb push file /system/…”, and the problem maybe resolved.

2) 解决 adb read-only的问题

    adb remount 解决read-only的问题

3)  

在使用adb shell 或者 adb push 指令的时候 遇到 "not found device" 的问题


解决办法: 键入如下两行命令即可
adb kill-server
adb shell     

原文地址:https://www.cnblogs.com/xin36933/p/3553287.html