http://blog.csdn.net/wirelessqa/article/details/8624208
有些机器root后通过adb shell 后,默认不是root用户,需要输入 su才能切换到root,这样在执行批处理或想将文件放到手机系统中会有问题:
方法一:命令行
1
adb shell"su -c 'sleep 1'"
2
adb start-server
3
adb push tcpdump /data/local/tcpdump
方法二:用工具
adbd Insecure(超级adbd)
说明:
1.打开adbd,勾选启动超级adbd,这样就可以直接有root权限运行adb shell命令了
2.因为超级用户不是永久性的,重启后会失效,所以勾选开机时启用会省掉每次开启的麻烦
注:上面这几条命令也许对一部分手机有用,但是对小米手机稳定版本是没有用的。因为小米的稳定版本不支持ROOT,如果非要ROOT需要安装MIUI开发版
方法三:先将文件放到SDCARD再放入系统
1.利用其它工具将文件(tcpdump)放入sdcard中
2.adb shell进入shell环境,su获得root权限(adb shell就默认获取到root权限的就不用su了)
3.cat /sdcard/文件 >系统文件路径,如下:将tcpdump放到系统文件/data/local/下
注明一下:shell命令cp和rm在这里都是不支持的,都会报错,所以直接用cat来拷贝就可以了。
方法四:将文件放入有权限的文档中
1
bixiaopeng@bixiaopengtekiMacBook-Pro ~$ adb push /Users/bixiaopeng/Downloads/tcpdump /data/local/tmp/tcpdump
2
2899 KB/s (645840 bytes in0.217s)
3
bixiaopeng@bixiaopengtekiMacBook-Pro ~$ adb shell
4
shell@android:/ $ su
5
shell@android:/ # ls data/local/tmp/
6
busybox
7
d10519f9d1f65446873da10267a674bc.apk
8
tcpdump
9
shell@android:/ #
1
系统不允许我们放到/data/local中,那我们就放到权限比较大的tmp中