ADB 常用指令

介绍手机测试

对于手机端测试,按照平台来分,分为Android和IOS两大主流系统,

对于 ios 和 Android ,二者有区别,我就说一下我在测试这两款手机 app 的感受吧
1 、两者运行机制不同: IOS 采用的是沙盒运行机制,安卓采用的是虚拟机运行机制。
2 、两者后台制度不同: IOS 中任何第三方程序都不能在后台运行;安卓中任何程序都能在后台运行,直到没有 内存才会关闭。
3 、 IOS 中用于 UI 指令权限最高,安卓中数据处理指令权限最高。
Android 开源导致碎片化比较严重,(手机品牌众多,系统版本各异,分辨率不统一,主流手机型号上千。无法保证应用、游戏对于所有手机的适配兼容。)bug 比较多,而 IOS 通常 bug 会少一些。
Android 介绍
Android 是一种基于 Linux 的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电 脑,由Google 公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用 “ 安卓 ” 。
Android 之四大组件
Android 四大组件分别为 activity 、 service 、 content provider 、 broadcast receiver 。
ADB 介绍
ADB 全称 Android Debug Bridge, 是 android sdk 里的一个工具 , 用这个工具可以直接操作管理android模拟器或者真实的 andriod 设备 ( 如 G1 手机 )
它的主要功能有 :
* 运行设备的 shell( 命令行 )
* 管理模拟器或设备的端口映射
* 计算机和设备之间上传 / 下载文件
* 将本地 apk 软件安装至模拟器或 android 设备
配置 ADB 环境变量
1 :在系统变量中新建ANDROID_HOME变量

2:在系统变量path中添加%ANDROID_HOME%\platform-tools 

3:验证adb配置是否成功ADB常用指令

查看移动端设备

adb devices( 这个命令是查看当前连接的设备 , 连接到计算机的 android 设备或者模拟器将会列出显示)
Offline( 不能调试仅是连接,原因很可能是 adb 与安卓系统不匹配 )
unauthorized( 连接后不能调试,原因是没有在手机上同意调试 )
device(正常状态可调试)

 开启服务  adb start-server

 关闭服务   adb kill-server

 安装软件  adb install apk路径

覆盖安装 adb install -r apk路径(-r 代表如果apk已安装,重新安装apk并保留数据和缓存文件) 

查看包名 

系统应用:adb shell pm list packages –s

第三方应用:adb shell pm list packages -3 

查看(全部)包名 adb shell pm list packages  卸载软件

adb uninstall 软件包名

将电脑文件传输到移动端 

adb push 电脑路径 移动端路径

将移动端文件传输到电脑

adb pull 移动端路径 电脑路径

截屏 

adb shell screencap -p 截图文件路径

 查看手机CPU情况

adb shell dumpsys cpuinfo

查看应用内存使用情况

adb shell dumpsys meminfo +包名:应用的内存使用情况 

显示磁盘使用信息

adb shell dumpsys diskstats

 查看电池状态

adb shell dumpsys battery

查看手机日志

adb logcat

adb logcat 命令格式 : adb logcat [选项] [过滤项], 其中 选项 和 过滤项 在 中括号 [] 中,
说明这是可选的;
">"输出 : ">" 后面跟着要输出的日志文件, 可以将 logcat 日志输出到文件中, 使用adb logcat >
log 命令(adb logcat >C:\log\1.txt)

 

指定 logcat 的日志输出格式 : -- "-v"选项 : 使用adb logcat -v time 命令, 可以查看日志的输
出时间;
将手机日志输出到本地文件中:adb logcat -v time > C:/log/aa.txt
Android 的日志分为如下几个级别:
V —— Verbose (最低,输出得最多)
D —— Debug
I —— Info
W —— Warning
E —— Error
F —— Fatal
S —— Silent (最高)
过滤指定等级日志:按某级别过滤日志则会将该级别及以上的日志输出。
比如,命令: adb logcat *:W 将 Warning 、 Error 、 Fatal 和 Silent 日志输出
显示所有优先级大于等于“warning”的日志

输出最近的日志:adb logcat -t 5 输出最近5行的数据