Appium adb & adb shell 相关命令

kratos0517 · 2013年12月10日 · 最后由 恒温 回复于 2013年12月14日 · 1983 次阅读
本帖已被设为精华帖!

adb shell 获取手机所有进程:
显示 android 模拟器上所有在执行的进程:

db shell ps -x

adb shell 获取手机设备信息:
1、设备基本信息:cat /system/build.prop | grep "product"
2、CPU 信息:/proc/cpuinfo 和/proc/stat
3、内存:/proc/meminfo adb shell dumpsys meminfo
Terms
VSS - Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)
RSS - Resident Set Size 实际使用物理内存(包含共享库占用的内存)
PSS - Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存)
USS - Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存)
4、

adb shell dumpsys batteryinfo >f:\battery.log

通过 ADB 向 android SD 卡传送文件

  1. 创建 SD 卡并挂载到模拟器 运 行 cmd,并 cd 至 android-sdk\tools\目录下。输入如下命令则可创建并挂载 SD 卡到模拟器上。mksdcard 的参数中 SD 卡的大小单 位可以为 K 或者 M(必须为大写),他会在 tools 目录创建一个文件叫 sdcard.img。通过在 emulator 后添加-sdcard 即可挂载 SD 卡 并启动模拟器。
mksdcard 256M sdcard.img
emulator -avd 2.2 -sdcard sdcard.img
  1. 操作单个文件 通过 adb push,则可将文件添加到 SD 卡中。如果想在 push 的时候修改文件名称的话,只需要修改 push 的第二个参数改成完整路径(目录 + 文件名),如/sdcard/test-0.jpg。重启模拟器,则可以在见到 SD 卡中新添加的内容了。
adb push E:/images/test.jpg /sdcard/
adb push E:/images/test.jpg /sdcard/test-0.jpg

而要将 test.jpg 提取出来的话,可使用 adb pull 命令。第二个参数为本机硬盘地址,如果不想改名的话,只需要输入目录地址(不能加),而需要改名的话,输入文件的完整路径就行了。

adb pull /sdcard/images/test.jpg E:\tmp
adb pull /sdcard/images/test.jpg E:\tmp\test-0.jpg
  1. 操作整个文件夹 要将硬盘上的一个文件夹的所有内容都添加至 SD 卡的话,可以通过如下命令(注意 pic 后面不能有\):
adb push E:\Android\pic /sdcard/images/

该命令会把 pic 文件下以及其子文件夹的内容全部添加到 SD 卡的 images 目录下。如果 SD 卡下没有 images 目录的话,可以先通过 adb shell 进行创建,如下:

adb shell
cd /sdcard
mkdir images
exit

而导出整个文件夹的话,可以通过如下命令:

adb pull /sdcard/images/ E:\tmp

更多:
adb devices //列出所有的连接设备
adb connect [:] //通过 tcp/ip 连接,5555 是默认端口
设备命令:
adb push //拷贝文件/目录到设备
adb pull [] //从设备拷贝文件/目录
adb sync [] //只有发生改变时从主机拷贝到设备
adb shell //运行远端 shell 交互
adb shell //运行远端 shell 命令
adb emu //运行仿真控制台命令
adb logcat [] //浏览设备日志
adb forward //转发套接字连接
adb install [-l] [-r] [-s] //拷贝文件包到设备并安装
adb uninstall [-k] //卸载程序包,-k 意味着保留数据和缓存
adb bugreport //返回所有的 bugreport 信息
adb help
adb version
脚本:
adb wait-for-device //阻塞直到设备上线
adb start-server
adb kill-server
adb get-state //列印 offline|bootloader|device 信息
adb get-serialno
adb status-window //连续列印设备状态
adb remount //重装载/system 分区
adb reboot [bootloader|recomry]
adb reboot-bootloader
adb root
adb usb

共收到 5 条回复 时间 点赞

赞这种分享精神

加了精华帖, 你以后可以拿到论坛的收益分成了.

#1 楼 @seveniruby 赞,以后会多弄写分享的

#2 楼 @kratos0517 能否将代码用代码块包括起来。比如:

adb pull /sdcard/images/ E:\tmp

获取进程内存也可以通过直接读/proc/目录下的进程映像文件直接获得.

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册