1、什么是ADB
ADB是Android-Sdk里的一个客户端-服务器端程序,其中客户端是我们操作的电脑, 服务器端是Android设备,它的全称为Android Debug Bridge,就是起到调试桥的作用。通过这个桥我们可以管理设备或手机模拟器的状态,还可以进行很多手机操作,如安装软件、系统升级、运行shell命令等等。
简而言之,ADB就是连接Android手机与PC端的桥梁,可以让用户在电脑上对手机进行全面的操作
2、安装
解压文件对应的压缩包就好
安装文件:(自行下载)
配置环境变量
新建系统变量adb,值:C:\softuser\ADB\adb1.0.32\adb(ADB的解压后的路径)
在系统变量path中新建一个%adb%
到此ADB安装配置完成
3、测试ADB
在命令系统中输入adb回车,成功结果如下
4、adb logcat的使用
1)确认PC端的ADB安装成功且可以正常使用
2)在手机端打开开发者选项,开启USB调试模式
3)使用USB连接安卓手机和电脑
4)进入cmd,输入命令adb logcat即可开始抓取安卓手机的log
5、adb常用命令
1)adb devices 查看当前连接电脑的设备,安卓设备或者模拟器会被显示出来
2)adb install 将指定的APK文件安装到设备上
3)adb uninstall 将指定的APP从设备上卸载
4)adb shell 通过上面的命令,就可以进入设备或模拟器的shell环境中,在这个Linux Shell中,你可以执行各种Linux的命令,另外如果只想执行一条shell命令,可以采用这种方式:adb shell [command],如:adb shell dmesg会打印出内核的调试信息
5) adb push 可以将电脑上的文件或者文件夹复制到手机设备上
6)adb pull 可以把手机设备上的文件或文件夹复制到本地电脑上
7)adb get-product 获取设备的ID号
8)adb get-serialno 获取设备的序列号
9)adb help 获取帮助信息
6、常用的抓取日志命令
使用流程:
cmd进入输入adb 查看adb是否安装
连接设备(使用数据线连接安卓设备)
输入命令adb logcat 查看log
若发现不了设备 adb kill-server
发现新设备adb devices
出现提示设备名,即可继续实行adb logcat 查看日志
捕获Logcat输出:
adb logcat -c && adb logcat -v time | tee logcat.txt | grep -i 7837
adb logcat -c && adb logcat -v time | tee logcat.txt | grep -E 'showImgWithUrl'
抓取崩溃日志:
logcat -s AndroidRuntime DEBUG
adb命令向设备复制导入、导出、删除文件等
//导入文件复制文件
adb push 文件 目标文件路径
adb push lo.log storage/sdcard0
//导出文件 mac默认是你的$home文件查看home文件方法 echo $HOME
adb pull storage/sdcard0/wifi_config.log
获取序列号:
adb get-serialno
查看连接计算机的设备: adb devices
重启机器: adb reboot
重启到bootloader,即刷机模式: adb reboot bootloader
重启到recovery,即恢复模式: adb reboot recovery
查看log: adb logcat
终止adb服务进程: adb kill-server
重启adb服务进程: adb start-server
获取机器MAC地址: adb shell cat /sys/class/net/wlan0/address
获取CPU序列号:adb shell cat /proc/cpuinfo
安装APK:adb install //比如:adb install baidu.apk
保留数据和缓存文件,重新安装apk:adb install -r
//比如:adb install -r baidu.apk
安装apk到sd卡:adb install -s
// 比如:adb install -s baidu.apk
卸载APK:adb uninstall
//比如:adb uninstall com.baidu.search
卸载app但保留数据和缓存文件:adb uninstall -k
//比如:adb uninstall -k com.baidu.search
启动应用:adb shell am start -n /.
查看设备cpu和内存占用情况:adb shell top
查看占用内存前6的app:adb shell top -m 6
刷新一次内存信息,然后返回:adb shell top -n 1
查询各进程内存使用情况:adb shell procrank
杀死一个进程:adb shell kill [pid]
查看进程列表:adb shell ps
查看指定进程状态:adb shell ps -x [PID]
查看后台services信息:adb shell service list
查看当前内存占用:adb shell cat /proc/meminfo
查看IO内存分区:adb shell cat /proc/iomem
将system分区重新挂载为可读写分区:adb remount
从本地复制文件到设备:adb push
从设备复制文件到本地:adb pull
列出目录下的文件和文件夹,等同于dos中的dir命令:adb shell ls
//进入文件夹,等同于dos中的cd 命令:
adb shell cd
重命名文件:adb shell rename path/oldfilename path/newfilename
删除system/avi.apk:adb shell rm /system/avi.apk
删除文件夹及其下面所有文件:adb shell rm -r
移动文件:adb shell mv path/file newpath/file
设置文件权限:
adb shell chmod 777 /system/fonts/DroidSansFallback.ttf
新建文件夹:adb shell mkdir path/foldelname
查看文件内容:adb shell cat
查看wifi密码:adb shell cat /data/misc/wifi/*.conf
清除log缓存:adb logcat -c
查看bug报告:adb bugreport
获取设备名称:adb shell cat /system/build.prop
查看ADB帮助:adb help
跑monkey:adb shell monkey -v -p your.package.name 500
7、抓取日志到本地文档
命令:adb logcat [position]>[log.txt]
例如:adb logcat -v time>androidlog.txt
运行之后,我们打开刚才的文本文档,就可以看到相应的日志了
PS:ADB对于Android系统来说是神一般的存在