【转】【Android测试技巧】01. root后adb shell默认不是root用户时,如何将文件放入手机系统中
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)
下载地址:http://pan.baidu.com/share/link?shareid=322594&uk=436271564
说明:
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 in 0 .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中 |