adb常用命令

大神博客:https://mp.weixin.qq.com/s/fWaa1rutwfoIIrje8RfWBw

adb命令可以快速便捷地执行某些指令,比如安装apk、查看内存或进程信息、查看log输出等等,下面列举部分常用的adb命令,后续用到新adb指令会陆续补充。

安装APK
adb install < package path >

查看app版本
adb shell pm dump | findstr "versionName" // 版本名
adb shell pm dump | findstr "versionCode" // 代码版本

查看已安装app列表
adb shell pm list packages | findstr // 在已安装app列表中查找包含关键key的app
shell pm list packages -f | findstr // 查找目标app的安装路径

查看某个进程的内存使用信息
adb shell dumpsys meminfo < pid >
//其中的包名也可以更换成pid,pid使用ps命令查看(看下文)

查看系统正在运行的service
adb shell service list // 查看当前系统运行的所有service
adb shell service list | findstr // 根据tag过滤service

查看系统内存使用概况
adb shel dumpsys meminfo //查看每个进程消耗的内存
adb shell cat /proc/meminfo //查看系统内存分布
adb shell dumpsys cpuinfo //查看cpu信息
adb shell dumpsys cpuinfo | findstr < package name> //查看某个应用占cpu情况

截屏
adb shell screencap -p /sdcard/screen.png //截取当前画面并保存于sdcard下
adb pull /sdcard/screen.png E:/image //将截屏图片拉取到PC端的E:/image,注意PC端这个目录必须先存在

录屏
adb shell screenrecord --time-limit 10 --size 720x1280 --bit-rate 6000000 --versbose --rotate -- /sdcard/demo.mp4
//限制录屏时间位10s,分辨率为1080P,帧率为60f/s,verbose输出当前log,rotate让视频旋转180°,部分手机厂商的rom屏蔽了此命令,需android 4.4以上
adb shell screenrecord --help //可以打印帮助查看详细参数作用

查看log
adb logcat -v time -s <标签> //label name是过滤的标签,比如MainActivity StringUtil

查看进程消息
adb shell ps | grep <标签> //不加标签可以查看全部进程信息,加标签则加一层过滤

杀死进程
adb shell kill
adb shell am force-stop < package name> //通过包名强制kill掉应用所有进程

am命令
adb shell am start / // 启动某个activity
adb shell am startservice / // 启动某个service
adb shell am startservice -a // 启动某个service
adb shell am broadcast -a // 发送某个广播
adb shell am start -a android.intent.action.VIEW -d http://www.baidu.com // 打开某个网页
adb shell am start -a android.intent.action.CALL -d tel:10086 // 拨打某个电话
adb shell am monitor // 监控crash和anr,会输入关键日志
adb shell am force-stop // 关闭应用

无线调试
adb devices //查看当前连接到PC的设备
adb connect < ip:port> //连接到设备,连接成功后会显示端口,ip后也可加端口,一般为8888
adb tcpip //重定向端口号,重定向后需要重新connect设备

查看网络信息
adb shell netcfg

PC端拷贝文件到手机
adb push E:/dir1/dir2/demo.png /sdcard/file //将pc端的相片拷至/sdcard/file/目录下,如果目录不存在会自动创建
adb push E:/dir1/demo.png /sdcard/file/newfile.png //将PC端的相片拷贝至/sdcard/file/目录下,并重命名为newfile.png

将手机文件拷贝到PC端
adb pull /sdcard/newfile.png //将sdcard下的newfile.png文件拷贝至PC端当前目录
adb pull /sdcard/newfile.png E:/fir1/hehe/new.png //将sdcard下的newfile.png拷贝到PC端的E:/fir1/hehe目录下,并命名为new.png,PC端必须有此目录

查看设备信息
adb shell cat /system/build.prop

模拟按键事件
adb root @tips 模拟案件事件需要获取root权限
adb shell input keyevent * # @tips 其中*号以阿拉伯数字代替
详细参考 http://blog.sina.com.cn/s/blog_68f262210102vc1b.html

查看Activity具体信息
adb shell dumpsys activity top @tips 查看当前获取到焦点的activity具体信息
adb shell dumpsys activity top | findstr ACTIVITY @tips 得到当前app页面的activity名

查看电量相关
adb shell dumpsys batterystats > @tips 查看电量信息

连接设备
adb shell @tips PC连接单设备时可直接用此命令,连接多台时会报错error: more than one device/emulator,此时用以下命令
adb devices @tips 查看目前与PC相连的设备
adb -s device_serial_no shell @tips 指定连接的机器序列号,其他的命令亦同理可用adb -s



以下命令行需要获取root权限

替换Android系统的lib库
adb root
adb remount
adb push /system/lib/
adb reboot

你可能感兴趣的:(adb常用命令)