admin管理员组文章数量:1569936
一.adb的概念及作用
adb,Android Debug Bridge,即“Android调试桥接器”,是一个Debug工具。
由于PC和真机/模拟器之间需要通过网络连接,我们的开发/测试工具是运行在PC上的,就需要Adb连接PC和真机/模拟器,网络远程调试/测试应用。
简单来说,使用adb,就可以通过电脑调试手机。
二.adb的安装
下载:
Google早已经提供了单独的工具包,不需要进行安卓SDK的完全安装。点击下方链接可直接下载:
§ https://dl.google/android/repository/platform-tools-latest-windows.zip
安装步骤:
step 1. 解压缩文件。(位置随意)
Step 2. 设置全局变量。
鼠标右键选取“此电脑”——“属性”
选中“高级”,再点击“环境变量”
在系统变量下选中“Path”,点击编辑
点击新建,再加入下面的代码
前面step1解压缩的文件位置; %Android%;
最后点击确定。
Step 3. 至此,你已经可以随意调出命令行进行ADB操作。
检测adb是否可用:
键盘同时按住“win”+“r”,在弹出的输入框里输入“cmd”,点击“确定”
随后输入 adb version
出现此图表示配置成功↑
如果出现“非内部命令或者函数等内容”则是“全局变量设置不对引起”,需重新设置,注意标点符号的全角半角。
移动端设置:
Step 4. 将安卓设备“设置”中的“开发人员选项”打开,“USB调试”打开。
不同安卓版本与品牌显示内容与步骤在此不尽相同,不会的可以百度查询;
部分没有显示这项内容的设备需要其它办法调出;
高版本安卓系统会要求在“开发人员选项”中选择特定USB连接方式下进行调试,据经验丰富的朋友说,华为系列只能设置在充电模式下进行“USB调试”。
Step 5. USB数据线与PC相连,在安卓设备弹出的选项窗口,一一勾选。
华为系列手机,可能会出现两步。
Step 6. 输入代码 “adb devices” 测试安卓设备是否与PC间可以正常进行通讯。
当我们看不到最后一行内容时,可能是因为调试权限没有允许造成,请在手机上设置好。
到这一步,你就能够正常的使用adb命令来操控该手机了。
三.adb的基础命令
一、 常用命令:
- 查看设备连接:adb devices
查看连接设备,模拟器的ip、端口或者真机的UID
上面00000开头的一串字符就是该设备的序列号(序列号的开头不一定都是这个格式,通常是看“device”前面的字符串)
你也可以使用命令 adb get-serialno 获取设备序列号
2. 查看设备状态:adb get-state
用于查看模拟器或者手机的当前状态
device 正常连接
unknown 没有连接设备
offline 连接出现异常,设备无响应
unauthorized 未授权
- 停止/启动adb:
模拟器在运行一段时间后,adb服务有可能会出现异常(在Windows进程中可找到这个服务,该服务用来为模拟器或通过USB数据线连接的真机服务)。这时需要重新对adb服务关闭和重启。
- adb kill-server:停止adb服务
- adb start-server:启动adb服务
关闭成功无提示,启动成功有提示。
4. 重启设备:adb reboot
5. pc↔真机拷贝文件:
- adb pull [设备上文件路径\文件名] [PC 保存路径]:设备上文件拷贝到 PC 上
- adb push [PC 文件路径\文件名] [设备上的保存路径]:PC 上的文件拷贝到设备上
这两条命令,前面要加上文件名,后面可不加(后面若加了文件名,则可改名,要记得加上相应的后缀)
- 记录并打印日志:adb logcat
用于查看最近的日志活动,按住ctrl+c可停止打印
○ >d:/log.txt:将日志保存到d盘,并取名为log.txt
○ -v time 打印时间
○ -v color 使用不同的颜色来显示每个优先级
○ -f 将日志输出到文件
○ -c 清理已存在的日志
二、shell篇:
①进入和退出设备
-
进入安卓命令行:adb shell
进入后可以使用Linux命令,如ls、cd、mv等等
-
退出安卓命令行:exit 或 ctrl+d
②直接在设备外使用shell命令
上面说到,在进入安卓命令行后,可以使用Linux命令,比如我这里输入date查看时间
但是其实我也可以直接在设备外使用命令,输入 adb shell date
③adb shell 模拟手机操作
-
点击屏幕:adb shell input tap x y
x、y均为坐标
-
输入文本:adb shell input text [文本]
[文本]即要输入的文本内容
可以直接写,也可以加上引号
手机上输入的内容分别是:5555、5555、abc
如果希望手机上输入的内容带引号如:“5555”,则需要添加三个斜杠——\\,如下图
输入特殊字符,就需要添加转义字符“\”
按照上面的方式,手机上输入的内容就为:&
3. 模拟滑动:adb shell input swipe x1 y1 x2 y2 [time]
x1、y1为起始坐标,x2、y2为终止坐标,即模拟手指从起始坐标滑动到终止坐标;
[time]为滑动时长,单位为毫秒,可以不写
手机的坐标在设置-其它设置(也可能是别的,每个手机不一样)-开发者选项-指针位置,然后打开“指针位置”的选项,在点击屏幕的时候就能看到坐标
4. 屏幕截图:adb shell screencap -p /sdcard/img.png
截图会保存在设备端
5. 屏幕录制:adb shell screenrecord /sdcard/filename.mp4
录频会保存在设备端,sdcard为保存的路径,filename为保存的视频的文件名(注意:如果要录制多个视频,一定要记得改文件名,否则新视频会覆盖老视频)
默认录制时间和最长录制时间都是180s
screenrecord后可接参数
–size [width]x[height] 视频的尺寸,比如 1280x720,默认是屏幕分辨率。
该尺寸指的是录制整个屏幕后(录制的时候还是录制的全屏),保存下来的尺寸,而不是指只录制这么大区域的尺寸
--bit-rate [rate] 视频的比特率,默认是 4Mbps。
--time-limit [time] 录制时长,单位秒。
上图 --time-limit 10:表示限制录时长为10s
--verbose 输出更多信息。
查看目录结构:adb shell ls
6. 模拟点击返回键:adb shell input keyevent 4
7. 模拟点击home键:adb shell input keyevent 3
8. 其它:adb shell input keyevent [keycode]
④应用相关
-
列出手机装的所有app的包名:adb shell pm list packages
-
显示系统自带应用:adb shell pm list packages -s
-
显示第三方应用:adb shell pm list packages -3
-
启动应用:adb shell am start [包名]
-
杀进程:adb shell am force-stop [包名]
-
安装 apk:adb install [apk 在计算机中的路径]
-r : 如果已安装则覆盖安装
-s :安装 apk 到 sd 卡
-r、-s要放在路径的前面
按住想要的文件直接拖动到cmd里,就能得到他的路径
图中①是安装命令,②是提示安装成功
中间需要等待一会儿,电脑看不到任何提示,但是手机会弹出安装的选项框,最终还是需要手动才能安装
点击继续安装,手机上apk安装成功,电脑上弹出提示“Success”
-
查看app包名:adb shell dumpsys window | findstr mCurrentFocus
如何查看手机app的包名?
①.PC连接Android设备
②.Android设备中点开想要查看的app,app的任何界面都可以;
③.cmd命令行中输入:adb shell dumpsys window | findstr mCurrentFocus 查看包名
上面的①为包名,②为页面名
-
卸载 apk:adb uninstall [apk 包名]
-k :卸载 app 但保留数据和缓存文件
注意,手机安装apk后,有时候安装时的包名不能直接用来卸载
这个时候就需要使用上一条所写的命令adb shell dumpsys window | findstr mCurrentFocus来查看包名
注意,卸载的时候只需要添加包名,不需要添加页面名
⑤系统相关
查看系统当前日期:adb shell date
查看电池状况:adb shell dumpsys battery
查看屏幕分辨率:adb shell wm size
查看屏幕密度:adb shell wm density
查看系统cup使用情况:adb shell cat /proc/cpuinfo
查看系统内存使用情况:adb shell cat /proc/meminfo
查看实时资源占用情况:adb shell top
查看占用内存前10 的app:adb shell top -s 10
查看进程:adb shell ps
查看bug报告:adb bugreport
查看安卓系统版本:adb shell getprop ro.build.version.release
显示安卓id:adb shell settings get secure android_id
查看IP地址:
adb shell ifconfig | find “Mask”
adb shell ifconfig wlan0 #设备连着 WiFi,可以使用命令来查看局域网 IP
adb shell netcfg # 上面两个无结果可以用这个,查看网络连接状态
查看MAC地址:adb shell cat /sys/class/net/wlan0/address # 设备不同可能地址不同
清除应用数据及缓存:adb shell pm clear <包名>
三、管理员权限
本节内容下使用的命令都需要先root
-
获取管理员权限:
第一步:adb shell
第二步:su
或者
直接输入:adb root
输入su或者abd root后,如果命令行提示符是 $ 则表示没有 root 权限,是 # 则表示已 root。 -
查看连接过的wifi密码:cat /data/misc/wifi/*.conf
-
设置日期和时间:date -s [时间]
如:date -s 20190531.131600 #将系统日期和时间更改为 2019 年 05 月 31 日 13 点 16 分 00 秒。 -
开启wifi:adb shell svc wifi enable
-
关闭wifi:adb shell svc wifi disable
四、特殊命令: -
-s:用于指定设备
例如我们此时连接了两个设备(假设设备分别为666和999),我们就可以按照以下格式指定操作某一台设备:
adb -s 666 logcat :只打印666的日志
adb -s 999 shell date:只查看999的日志
-
-d:指定当前唯一通过 USB 连接的 Android 设备为命令目标
-
-e:指定当前唯一运行的模拟器为命令目标
-
【ctrl】+【c】:中断程序
用于终止当前正在进行的事件 -
【ctrl】+【d】:键盘输入结束
相当于 exit 命令 -
【Tab】:补全或补齐
接在一串命令的第一个命令的后面,则为“命令补全”;
接在一串命令的第二个命令以后时,则为“文件补齐”。
版权声明:本文标题:游戏测试——adb基础 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dongtai/1727653615a1123695.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论