ADB学习记录
ADB安装
1、adb下载,下载成功后,在本地解压;
Windows版本:https://dl.google.com/android/repository/platform-tools-latest-windows.zip
2、配置环境变量:把解压路径放到系统变量里去(Path);
3、按ctrl+R,输入cmd,在命令窗口输入:adb version,显示adb版本信息,表示安装成功;
ADB连接设备
1、可以连接手机或者模拟器;
模拟器:按ctrl+R,输入cmd,在命令窗口输入:adb connect 127.0.0.1:7555,abd devices 就可以看到模拟器了;
--MuMu模拟器:127.0.0.01:7555(其他模拟器,以后遇到了再补充)
手机(以RedmiK60为例):在手机中,进入开发者选项
usb连接:打开usb调试,usb安装,usb调试(安全设置),进行usb连接到电脑后,选择文件,在手机上会出现是否允许usb调试,选择是,adb devices查看,手机设备才会由unauthorized变更为device,此时连接成功;
wifi连接:
1)打开usb调试,打开无线调试,使用数据线连接设备和电脑,选择文件;
2)在命令行窗口输入:adb tcpip 5555(在电脑端指定设备的tcpip端口)(指定设备,adb -s 设备序列号 tcpip 5555),可以断开数据线了;
3)在手机上,进入无线调试选项,点击使用配对码配对设备,记录ip和端口,配对码;
4)在命令行窗口输入:adb pair ip:port,回车,输入配对码;

5)adb connect ip(adb connect ip:5555),连接成功,可以正常操作了;

2、在命令窗口输入:adb devices,查看所有设备信息,adb get-serialno:也可以查看设备号;
3、获取root权限:adb root,adb shell:登录设备 shell,该命令将登录设备的shell(内核),登录shell后,可以使用 cd,ls,rm 等Linux命令;
adb remount:获取System分区可写权限,需要root后才能有这个权限;
adb -d:如果同时连了usb,又开了模拟器,连接当前唯一通过usb连接的安卓设备;
adb -e shell:指定当前连接此电脑的唯一的一个模拟器;
adb -s <设备号> shell:当电脑插多台手机或模拟器时,指定一个设备号进行连接
4、退出shell,输入exit,回车,即可成功退出;
5、服务关闭与重启,关闭:abd kill-server;重启:adb start-server;指定端口重启服务:adb -p 端口号 start-server;
6、adb重启:adb reboot;
7、断开连接:在命令行窗口输入:adb disconnect 设备序列号。
ADB常用命令
在未执行adb shell时,运行命令需要在原命令前面添加:adb shell
1、日志操作
打印所有日志:adb logcat;
打印指定应用的日志:adb shell “logcat | grep com.hpbr.bosszhipin” ;设备进行连接后,可以直接输入:logcat | grep com.hpbr.bosszhipin,查看关于boss直聘相关的日志信息;
把日志输出到指定文件:adb shell “logcat | grep com.hpbr.bosszhipin” >【文件保存路径】;
清空日志:adb shell -c;
打印级别为Error的信息:adb shell logcat -v time *:E > <存放路径\log.txt>,日志等级:-V:Verbse(明细),-D:Debug(调试),-I:Info(信息),-W:Warn(警告),-E:Error(错误),-F:Fatal(严重错误)
2、文件操作
把本地文件上传到设备上:adb shell push 本地文件路径 设备文件存放路径;
从设备上下载文件到本地:adb shell pull 设备文件路径 本地存放路径;
3、应用操作
查看当前设备所有包信息:adb shell pm list packages;
查看当前设备安装的第三方应用信息:adb shell pm list packages -3;
查看当前设备安装的系统包信息:adb shell pm list packages -s;
查看当前设备启用的包:adb shell pm list packages -e;
查看当前设备禁用的包:adb shell pm list packages -d;
查看具体包的安装路径:adb shell pm path 包名;
安装应用:adb install 【本地的apk文件路径】;若存在多个设备时,adb -s 设备序列号 install 【本地的apk文件路径】,覆盖安装:adb install -r 【本地的apk文件路径】;低版本安装:adb isntall -d 【本地的apk文件路径】
为应用授予运行所需要的全部权限:adb install -g 【本地的apk文件路径】;
卸载应用:adb uninstall 包名(不保留数据和缓存) adb uninstall -k 包名(保留数据和缓存),adb shell pm clear 包名(清除数据及缓存)
启用应用:
系统应用:adb shell am start 包名
系统第三方应用:adb shell am start -n 包名/Activity类名;-a,传入动作;-d,传入数据;-n,传入package;-t,传入类型
示例:am start -a android.intent.action,CALL -d tel:【手机号】; am start -a android.intent.action.VIEW -d https://www.baidu.com/
如何找到apk应用的活动名?
1、在模拟器或者手机上打开apk;
2、在命令行窗口输入:adb logcat | find “START”或者adb shell "dumpsys activity activities |grep com.hpbr.bosszhipin ",找到对应的活动名,如下图:


退出应用:abd shell am force-stop 包名
4、截屏录屏分辨率
截屏:adb shell screencap /sdcard/sca.png;
录屏:adb shell screenrecord /sdcard/scr.mp4;
录屏,指定分辨率:adb shell screenrecord --size 1280*720 /sdcard/scr.mp4;
录屏,指定比特率:adb shell screenrecord --bite-rate 6000000 /sdcard/scr.mp4;
录屏,指定时间:adb shell screenrecord --bite-rate 6000000 --time-limit 10 /sdcard/scr.mp4;
查看分辨率,adb shell wm size;
修改分辨率,adb shell wm size 1148x2480;
重置分辨率,adb shell wm size reset;
5、模拟输入、按键、鼠标点击、鼠标滑动
1)获取event 体系里 宽(0035)和高(0036),adb shell "getevent | grep -e "0035" -e "0036""(adb shell getevent -p),我们需要的就是 其中的max;

2)获取手机屏幕分辨率,adb -s 192.168.20.231:5555 shell wm size,我们需要的是Override对应的值;

3)在模拟操作前,需要获取对应操作区域的坐标,在命令行窗口,输入:adb shell "getevent | grep -e "0035" -e "0036"",在设备进行点击操作,在命令行窗口会打印出对应操作区域的坐标信息,如下图:

其中,红框区域,003 0035和003 0036是我们所需要的坐标信息;坐标为16进制,需要转换为10进制;
转换为手机屏幕对应的宽和高:
ScreenWidth=1080/14400*eventWidth
ScreenHeight=2400/32000*eventHeight
模拟点击:adb shell input tap ScreenWidth ScreenHeight;
模拟输入:adb shell input text 字符串,会光标位置处输入;
模拟滑动:adb shell input swipe X1 Y1 X2 Y2(在设备端滑动后,记录第一组和最后一组的坐标即可);
模拟按键:adb shell input key event 键值 (https://www.cnblogs.com/xiaobingdiaoyu/p/18025214)
5、查看进程及性能相关信息
查看具体应用的进程信息:adb shell "ps |grep com.hpbr.bosszhipin",或者adb shell ps | findstr 包名;
杀死某个APP进程:adb shell am force-stop 包名,或者adb shell kill pid;
查看正在运行的进程:adb shell top;
查看你手机存储信息:adb shell df;
查看手机当前电量信息:adb shell dumpsys battery;
查看手机内存信息:adb shell cat /proc/meminfo;
adb shell dumpsys 【options】 meminfo 内存信息;cpuinfo cpu信息;accounts account信息;activity 所有activity信息,后面跟activities |grep 具体包名,或者| grep 包名;diskstatus 所有磁盘使用情况; batterystatus 手机电量信息;

浙公网安备 33010602011771号