adb常用命令

adb即Android Debug Bridge,是Android开发中必不可少的调试工具。

安装和卸载apk

/** 安装APK文件:此命令需要先卸载apk再执行,否则执行失败。 */
adb install <apk文件路径>
/** 安装APK文件:如果已经安装了此APP,会进行替换安装操作(APP数据仍然存在), 否则直接进行安装*/
adb install -r <apk文件路径>
/** 卸载apk */
adb uninstall <包名>

搬运文件

/** 将电脑中的文件复制到Android设备 */
/** 设备路径:sdcard,比如我要copy文件到Download目录:sdcard/Download  */
adb push <本地文件路径> <设备路径>

/** 将Android设备中的文件复制到电脑 */
adb pull <设备路径> <本地文件路径>

启动/停止APP

/**运行指定APP,例子:adb shell am start me.hp.test.demo/me.hp.test.demo.MainActivity */
adb shell am start 包名/activity名

/** 停止指定APP */
adb shell am force-stop 包名

查看已连接的设备

adb devices

查看设备的分辨率

//查出的结果类似 1280x720
adb shell wm size

查看设备的密度(dpi)

adb shell wm density   //查出类似 480

重启设备

adb reboot

删除设备中的文件或者文件夹

$ adb shell su 
$ remount
$ cd /sdcard/  //进入系统内指定文件夹 
$ ls  //列表显示当前文件夹内容 
$ rm -r xxx   //删除名字为xxx的文件夹及其里面的所有文件 
$ rm xxx   //删除文件xxx 
$ rmdir xxx   //删除xxx的文件夹

adb抓取设备日志

adb logcat -v time > Documents/test.log

然后操作设备,日志都会被记录进test.log文件中,不过在这之前最好清空一下设备的日志,这样记录的日志就是你操作设备这段时间的。

adb清除日志

adb logcat -c

程序ANR崩溃,获取traces.txt日志文件

出现Application Not Responding的提示后,系统会将日志LOG写到data\anr\traces.txt文件

$ adb pull /data/anr/traces.txt

adb抓取dmesg信息

dmesg信息是Linux内核启动信息,常用于分析定位android系统相关问题,抓取dmesg信息指令如下:

adb shell dmesg > <文件保存路径>

比如:adb shell dmesg > dmesg.log ,那么信息就会保存进入dmesg.log文件。

查看android版本号以及SDK版本号

$ adb shell getprop ro.build.version.release //android版本号
$ adb shell getprop ro.build.version.sdk  //android sdk版本号

抓取设备的网络包

$ adb shell su
$ tcpdump -i any -p -s 0 -w /sdcard/capture.pcap
$ exit
$ adb pull /sdcard/capture.pcap <自己电脑路径>

从设备本身发起网络请求

$ adb shell 
$ curl http://ip:port/xxx.jsp

获取内存泄漏hprof文件

//生成文件
adb shell am dumpheap cn.gd.snm.snmcm /data/data/cn.gd.snm.snmcm/2.hprof
//将文件提取到电脑
adb pull /data/data/cn.gd.snm.snmcm/2.hprof

手动设置设备的时间

$ adb shell su
$ cat /data/property/persist.sys.timezone
//上面语句回车后,如果看到GMT在前面,则下面这句话不用执行
$ setprop persist.sys.timezone GMT
$ date -s "20180716.185630"     //设置时间
$ date      //查看当前时间

获取设备root权限(不一定成功)

$ adb root adb remount
$ adb shell
$ mount -o rw,remount /system
$ exit

//获取设备root权限后可删除系统应用
$ adb shell
$ cd system/app
$ rm -r <相关APP>
$ cd data/data
$ rm -r <相关APP>

获取设备的WIFI Mac地址

$ adb shell
$ cat /sys/class/net/wlan0/address

查看设备CPU使用率

$ adb shell
$ su
$ top

查看设备CPU信息(内核数)

$ adb shell
$ cat /proc/cpuinfo
$ /sys/devices/system/cpu

查看设备CPU架构

adb shell
//查看CPU架构执行状态
cat /proc/cpuinfo
//支持的架构
getprop|grep arm

比如我连接的设备支持的CPU架构如下:

ro.product.cpu.abilist的值表明当前系统所支持的所有的ABI类型。
ro.product.cpu.abilist32 / ro.product.cpu.abilist64的值表明当前系统所支持的32位和64位的ABI类型。


查看设备连接了哪些USB设备

$ adb shell
$ cat /proc/bus/input/devices    即可查看

$ lsusb 可以查看设备的vid 和 pid

用adb录制设备屏幕 / 截取屏幕图片

adb shell screenrecord /sdcard/demo.mp4

录制手机屏幕,视频格式为mp4,存放到手机sd卡里,默认录制时间为180s

adb shell screenrecord --bit-rate 6000000 /sdcard/demo.mp4

指定视频的比特率为6Mbps,如果不指定,默认为4Mbps

adb shell screenrecord --size 1280*720 /sdcard/demo.mp4

录制视频,分辨率为1280*720,如果不指定默认使用手机的分辨率

adb shell screenrecord --time-limit 10 /sdcard/demo.mp4

限制视频录制时间为10s,如果不限制,默认180s

adb shell screenrecord --time-limit 10 --verbose /sdcard/demo.mp4

限制视频录制时间为10s,且在命令行显示相关log信息

adb pull /sdcard/demo.mp4 D:/

导出视频到D盘

adb shell screencap -p /sdcard/test.png  截取手机当前屏幕,并命名test.png,然后存放到手机sd卡里

adb pull /sdcard/test.png    导出图片到PC当前操作路径(目录) 

查看app的activity任务栈信息

//必须加grep筛选条件,否则打印的信息太多难以定位问题
adb shell dumpsys activity activities | grep <app包名>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hepingdev

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值