调试操作步骤

  1. 在手机设置中打开USB调试功能(某些手机还能限制是否允许远程调试,如果存在此选项需要一并打开)。

  2. 将手机和PC在同一网络下(连接同一WIFI)。

  3. 使用USB将手机连接到电脑。

  4. 使用adb devices命令检查设备连接情况

    $ adb devices
    List of devices attached
    693298ff	device                   # 现连接的设备1
    693298gg	device                   # 现连接的设备2
    
  5. 使用adb tcpip命令在电脑端指定手机设备的tcpip端口

    $ adb -s 693298ff tcpip 5555
    restarting in TCP mode port: 5555    # 启用结果
    

    5555 端口是默认端口,也可以用其他端口,-s是adb中操作指定设备的参数 -s 693298ff是指定在693298ff这个设备上执行此操作,如果只连接了一台设备可省略此参数.

  6. 断开手机与PC的USB连接

  7. 使用adb connect命令将手机连接到电脑

    $ adb connect 192.168.3.142:5555
    connected to 192.168.3.142:5555     # 远程连接结果
    

    192.168.3.142是自己手机连接WIFI后的ip,再次说明,手机和电脑需要在同一网络环境下(只要在一个局域网内 有线网络也可以)

  8. 使用adb devices命令检查设备连接情况

    $ adb devices
    List of devices attached
    192.168.3.142:5555	device          # 远程连接的手机
    693298gg	device                  # 通过usb连接的手机
    
  9. 当需要连接多个设备时,可重复上面的操作,但是端口号需要稍做修改,不能重复。

    需要注意的是,如果一个手机同时通过USB和tcpip连接到PC的话,adb devices会识别出2个设备,但其实是同一个手机的2种连接方式。

  10. 当不再需要设备连接时,可以使用adb disconnect 命令来断开连接,示例:

    $ adb disconnect 192.168.3.142:5555
    

扩展知识(adb常用命令)

  1. 查看手机设备

    $ adb devices [-l]
    
  2. 多设备连接时指定命令到设备

    $ adb [-s <device-name>] [cmd]
    
  3. 连接、断开设备

    $ adb connect <ip:port>                         # 连接设备
    $ adb disconnect <ip:port>                      # 断开设备
    
  4. 安装、卸载包,如果需要覆盖则需要在install后面添加-r参数

    $ adb install [-r] <apk-path>                   # 安装包,如需保留数据及缓存文件安装新包,需添加-r参数
    $ adb uninstall <apk-path>                      # 卸载包
    
  5. 启动、关闭adb服务

    $ adb start-server                              # 启动adb服务
    $ adb kill-server                               # 关闭adb服务
    
  6. 查看手机里包名

    $ adb shell pm list packages                    # 查看所有包名
    $ adb shell pm list packages -3                 # 查看所有第三方包名
    
  7. 截频并保存文件在手机上为xxx.png

    $ adb shell /system/bin/screencap -p /sdcard/xxx.png
    
  8. 打包指定包名应用

    $ adb shell pm path <package-name>
    
  9. 电脑、手机文件传输

    $ adb pull <android-path> <pc-path>             # 将手机文件下载到电脑
    $ adb push <pc-path> <android-path>             # 将电脑文件导入手机
    
  10. 清除缓存数据

    $ adb shell pm clear com.ablesky.ui.activity
    
  11. 启动、强制停止程序

    $ adb shell am start -n com.ablesky.ui.activity/com.ablesky.activity.SplashActivity     # 启动程序
    $ adb shell am force-stop com.ablesky.simpleness.activity                               # 强制停止运行程序
    $ taskkill /pid 2027 /f                                                                 # 杀掉某进程
    
  12. 查看、下载日志

    $ adb logcat                            # 查看日志
    $ adb logcat > D:\log.txt               # 将日志打印到电脑上
    
  13. 查看端口及进程PID

    $ netstat -aon|findstr "5037"                   # 查看被占用端口对应的PID
    $ tasklist /fi "PID eq <pidNum>"                # 查看端口号对应的进程
    
  14. 指定APP产生随机事件100次

    $ adb shell monkey -p <package-name> 100        # 指定APP产生随机事件100次
    $ adb shell monkey -p <package-name> -v 100     # 指定APP产生随机事件100次并发送详细的activity信息
    
  15. 获取手机系统信息

    $ adb shell "cat /system/build.prop | grep "product""       # 获取手机CPU,厂商名称等信息
    $ adb shell getprop ro.build.version.release                # 获取手机系统版本
    $ adb shell getprop ro.build.version.sdk                    # 获取手机系统api版本
    
  16. 获取手机设备信息

    $ adb -d shell getprop ro.product.model        # 获取手机设备型号
    $ adb -d shell getprop ro.product.brand        # 获取手机厂商名称
    
  17. 获取手机的序列号,有以下两种方式

    $ adb get-serialno                              # 获取手机的序列号,方式一
    $ adb shell getprop ro.serialno                 # 获取手机的序列号,方式二
    
  18. 获取手机的IMEI,有三种方式,由于手机和系统的限制,略有区别

    $ adb shell dumpsys iphonesubinfo               # 其中Device ID即为IMEI号
    $ adb shell getprop gsm.baseband.imei
    $ service call iphonesubinfo 1                  # 此种方式,需要自己处理获取的信息得到
    
  19. 获取手机硬件信息

    $ adb shell cat /sys/class/net/wlan0/address    # 获取手机mac地址
    $ adb shell cat /proc/meminfo                   # 获取手机内存信息
    $ adb shell cat /proc/cpuinfo                   # 获取手机cpu信息
    $ adb shell df                                  # 获取手机存储信息
    
  20. 获取手机内部存储信息

    $ adb shell df /mnt/shell/emulated            # 魅族手机
    $ adb shell df /data                          # 其他
    
    $ adb shell df /storage/sdcard                # 获取sdcard存储信息
    
  21. 获取手机分辨率

    $ adb shell "dumpsys window | grep mUnrestrictedScreen"
    
  22. 获取手机物理密度

    $ adb shell wm density
    
  23. 查看apk的包名

    $ aapt dump badging <apk-path>                # 查看指定apk的包名
    $ adb shell pm list package -f                # 查看所有apk包名
    
  24. 查看当前活动应用

    $ adb shell dumpsys activity top | findstr ACTIVITY