android adb学习笔记(一)

一、adb概述

  adb(Android Debug Bridge),安卓平台调试桥,是连接Android手机与PC端的桥梁,通过adb可以管理、操作模拟器和设备,如安装软件、查看设备软硬件参数、系统升级、运行shell命令等。

  针对移动端 Android 的测试, adb 命令是很重要的一个点,必须将常用的 adb 命令熟记于心, 将会为 Android 测试带来很大的方便,其中很多命令将会用于自动化测试的脚本当中。


主要功能有:

  • 运行设备的shell(命令行) 
  • 管理模拟器或设备的端口映射 
  • 计算机和设备之间上传/下载文件 
  • 将本地apk软件安装至模拟器或android设备

adb是一个C/S架构的命令行工具,主要由三部分组成:

  • 运行在 PC 端的 Client : 可以通过它对 Android 应用进行安装、卸载及调试
    • Eclipse 中的 ADT、SDK Tools 目录下的 DDMS、Monitor 等工具,都是同样地用到了 adb 的功能来与 Android 设备进行交互。
      PC 端的手机助手,诸如 360 手机助手、豌豆荚、应用宝等,其除了安装第三方应用方便,其他的功能,基本上都可以通过 adb 命令去完成,这里建议测试人员尽量不要在电脑上安装这类手机助手,因为其自带的 adb 程序可能会与 Android SDK 下的 adb 程序产生冲突,5037 端口被占用,导致使用 adb 命令时无法连接到设备
  • 运行在 PC 端的 Service : 其管理客户端到 Android 设备上 adb 后台进程的连接
    • adb 服务启动后,Windows 可以在任务管理器中找到 adb.exe 这个进程
  • 运行在 Android 设备上的 adb 后台进程
    • 执行 adb shell ps | grep adbd ,可以找到该后台进程,windows 请使用 findstr 替代 grep

 


下载adb kit,包括adb和驱动: 官网下载


 

二、adb安装

环境准备:mac

1、安装homebrew(省略)

2、安装adb

brew cask install android-platform-tools

 3、运行adb

输入adb,此时会出现adb的帮助信息,说明adb安装成功

adb 或 adb help

android adb学习笔记(一)

 

三、adb命令简介

在开发或者测试的过程中,我们可以通过 adb 来管理多台设备,其一般的格式为:

adb  [-e | -d | -s <设备序列号>] <子命令>

 这里介绍一些常用命令:

  • adb devices 获取设备列表及设备状态
  • adb get-state 获取设备的状态
    • 设备状态有三种
      • device:设备正常连接
      • offline:连接出现异常,设备无响应
      • unknown:没有连接设备
  • adb kill-server,adb start-server 结束adb服务,启动adb服务,通常两个命令一起使用
    • 一般在连接出现异常,使用adb devices未正常列出设备,设备状态异常时使用kill-server,然后云心start-server进行重启服务
  • adb logcat 打印Android的系统日志,这个可以单独拿出来讲,参考资料
  • adb bugreport 打印dumpsys、dumpstate、logcat的输出,也是用于分析错误
    • 输出内容较多,建议重定向到一个文件中
      • adb bugreport > d:\bugreport.log
  • adb install 安装应用,覆盖安装使用-r选项
    • windows 下如果需要安装含有中文名的 apk ,需要对 adb 进行修改,百度可以找到做出修改的adb , 支持中文命令的 apk,请自行搜索
  • adb uninstall 卸载应用,后面跟的参数是「应用的包名」,请区别于「apk文件名
    • ‘-k‘ means keep the data and cache directories,-k选项,卸载时保存数据和缓存目录
  • adb pull 将Android设备上的文件或文件夹复制到本地
    • 例如复制sdcard下的pull.txt文件到D盘:
    • adb pull sdcard/pull.txt d:\
    • 或者重命名:adb pull sdcard/pull.txt d:\rename.txt
      • 注意需要root权限
  • adb push 推送本地文件至Android设备
    • 例如推送D盘下的push.txt至sdcard
      • adb push d:\push.txt sdcard/
      • sdcard后面的斜杠不能少,否则会出现如下错误
      • failed to copy ‘push.txt‘ to ‘sdcard‘:Is a directory
  • adb root,adb remount 只针对类似小米开发版的手机使用,可以直接以这两个命令获取root权限,并挂载系统文件为可读写状态
  • adb reboot 重启Android设备
    • bootloader,重启设备,进入fastboot模式,同adb reboot-bootloader命令
    • recovery,重启设备,进入recovery模式,经常刷机的同学比较熟悉这个模式
  • adb forward 将宿主机上的某个端口重定向到设备的某个端口
    • adb forward tcp:1314 tcp:8888
    • 执行该命令后所有发往宿主机1314端口的消息,数据都会转发到Android设备的8888端口上,因此可以通过远程的方式控制Android设备
  • adb connect 远程连接Android设备
    • 手机、pc处于相同网络下,手机root,安装应用adbWireless,启用应用后点击界面中间的按钮
    • 接着运行 adb connect 192.168.1.102 , 即可通过无线的方式连接手机,缺点是速度比较慢

 

android adb学习笔记(一)

上一篇:Detergent-Free Simultaneous Sample Preparation Method for Proteomics and Metabolomics (一种无变性剂的同时制备蛋白质组和代谢组样品的方法)


下一篇:安卓开发之动态注册广播(锁屏和解锁案例)