【Andriod】adb调试安卓手机时连接真机或模拟器的3种方法,你知道么?

一.adb是什么?

adb 称之为:Android 调试桥 (Android Debug Bridge )是一种允许模拟器或已连接的 Android 设备进行通信的命令行工具,它可为各种设备操作提供便利,如安装和调试应用,并提供对 Unix shell(可用来在模拟器或连接的设备上运行各种命令)的访问。
- 可以在Android SDK/platform-tools中找到adb 工具或下载 ADB Kits

注: 有部分命令的支持情况可能与 Android 系统版本及定制 ROM 的实现有关。

二.adb有什么作用?

ADB 是 Android SDK 里的一个工具, 用这个工具可以直接操作管理Android模拟器或者真实的Android设备。它的主要功能有:

  • 在设备上运行Shell命令;

  • 将本地APK软件安装至模拟器或Android设备;

  • 管理设备或手机模拟器上的预定端口;

  • 在设备或手机模拟器上复制或粘贴文件。

ADB 是一个客户端-服务器程序程序,包括三个组件:
【Andriod】adb调试安卓手机时连接真机或模拟器的3种方法,你知道么?_第1张图片

  • 客户端:负责发送命令。客户端在开发计算机上运行。可通过发出 adb 命令从·命令行终端调用客户端·。
  • 后台程序:负责在设备上运行命令。后台程序在每个模拟器或设备实例上作为后台进程运行。
  • 服务器:负责管理客户端和后台程序之间的通信。服务器在开发计算机上作为后台进程运行

三.adb连接真机或模拟器的方法

adb连接真机或者模拟器一共有以下3种方法

  1. 连接模拟器
  2. 有线连接真机
  3. 无线连接真机

1.连接夜神模拟器

  1. 启动夜神模拟器

  2. 连接模拟器

    • 使用win+r按键输入cmd,回车打开cmd窗口
    • adb connect 127.0.0.1:62001
      在这里插入图片描述
  3. 查看连接的设备

    • adb devices

      List of devices 设备名称
      attached 连接状态(devices设备正常连接、offline连接出现异常,设备无响应、unknown没有连接设备)
      在这里插入图片描述

  4. 启用设备的开发者选项,启动调试功能

  • 夜神模拟器:设置->点击版本号7次直到出现提示【开发者选项】->返回上一步能看到【开发者选项】->USB调试
    【Andriod】adb调试安卓手机时连接真机或模拟器的3种方法,你知道么?_第2张图片
    【Andriod】adb调试安卓手机时连接真机或模拟器的3种方法,你知道么?_第3张图片
    【Andriod】adb调试安卓手机时连接真机或模拟器的3种方法,你知道么?_第4张图片
    【Andriod】adb调试安卓手机时连接真机或模拟器的3种方法,你知道么?_第5张图片
    【Andriod】adb调试安卓手机时连接真机或模拟器的3种方法,你知道么?_第6张图片

2.有线连接真机(需原装数据线)

  1. 将手机与电脑通过 USB 线连接

    • 确保 Android 手机的开发者选项 USB 调试模式已开启

    • 「设置」-「开发者选项」-「Android 调试」查看。开发者选项,点允许 usb 调试,然后就可以连上电脑了

      • 如果在设置里找不到开发者选项,在「设置」-「关于手机」连续点击「版本号」7 次。
        【Andriod】adb调试安卓手机时连接真机或模拟器的3种方法,你知道么?_第7张图片
  2. cmd框输入adb devices 命令查看设备连接情况

    • List of devices 设备名称
    • attached 连接状态(devices设备正常连接、offline连接出现异常,设备无响应、unknown没有连接设备)
      在这里插入图片描述

3. 无线连接真机(需原装数据线)

  1. 将 Android 设备与要运行 adb 的电脑连接到同一个局域网

    • 比如连到同一个 WiFi。将手机与电脑通过USB线连接。
  2. 确保连接成功,在cmd窗口输入 adb devices 看是否能列出该设备
    在这里插入图片描述

  3. 让设备在 5555 端口监听TCP/IP连接

    • 开发者选项,点允许usb调试
    • 输入 adb tcpip 5555
    • 找到设备的 IP 地址
      • 进入手机的WIFI连接,进入连接属性,查看手机的 IP
      • 也可在**「设置」-「关于手机」-「状态信息」-「IP地址」**找到
        【Andriod】adb调试安卓手机时连接真机或模拟器的3种方法,你知道么?_第8张图片
  4. 通过 IP 地址连接设备,在cmd窗口输入adb connect '手机ip地址'

    • 出现 connected to 192.168.31.109:5555 表示连接成功
      在这里插入图片描述

注:连接不成功,检查以下问题

  1. 确保网络和端口都没有问题,使用的是原装数据线
  2. 请确认 Android 设备与电脑是连接到了同一个 WiFi,然后再次执行 adb connect 那一步
  3. 通过adb kill-server重新启动 adb 然后从头再来一次试试

四.常用命令

常用命令

adb version  查看版本
adb devices -l	查看已链接的设备
adb shell getprop ro.build.version.release	查看Android内核版本号
#查看正在运行的服务:语法 adb shell dumpsys activity services []
adb shell dumpsys activity | findstr “mResume” 1.查看手机屏幕当前应用页面Activity名称以及程序包名,入口类名 (window)
adb shell dumpsys window | grep mCurrent	2.查看手机屏幕当前应用页面Activity名称以及程序包名,入口类名(mac)

adb start-server 启动adb 一般无需手动执行此命令,在运行 adb 命令时若发现 adb server 没有启动会自动调起。
adb kill-server 停止adb
adb -P <port> start-server  指定 adb server 的网络端口 ADB的默认端口为 5037

注意

  • 查看前台(即手机当前界面)应用包名: adb shell dumpsys activity | find “mFocusedActivity” 注意:如果是真机的话,Android版本一般是在8.0以上,命令需要改下adb shell dumpsys activity | find “mResumedActivity”

1.常用简单的adb命令:

1、adb devices:                        获取设备列表和设备的状态
2、adb get-state:                      获取设备的状态(设备的状态有三种:device,设备连接正常;offline,连接出现异常,设备无响应;unknown,设备未连接;)
3、adb kill-server,adb start-server:  结束,启动adb服务
4、adb install -r:                     覆盖安装应用(apk)
5、adb uninstall:                      卸载应用(应用包名)
6、adb pull :                          将设备上的文件复制到电脑上
7、adb push :                          将电脑上的文件复制到设备上
8、adb reboot :                        重启设备
9、adb connect :                       远程连接设备
10、adb disconnect :                   断开设备连接

2.adb shell pm基本的命令:

  1. 列出安装在设备上的应用

    adb shell pm list package -s     列出系统应用
    adb shell pm list package -3     列出第三方的应用
    adb shell pm list package -i     列出来源
    db shell pm list package -f     列出包名和路径
    
  2. 列出应用apk的位置

     adb shell pm path packagename    列出应用apk的位置#### 列出应用的详细信息
    
  3. 列出应用的详细信息

    adb shell pm dump packagename  
    
  4. 清除应用的缓存数据

     adb shell pm clear packagename
    
  5. 安装卸载手机应用:

    首先将test.apk文件push到手机目录中比如/data/local/tmp

    adb shell pm install /data/local/tmp/test.apk       安装
    adb shell pm install –r /data/local/tmp/test.apk    重新安装
    adb shell pm uninstall -k packagename               卸载,加k保留缓存数据
    adb shell pm install -d apk                         允许降级安装
    

3.adb shell am基本的命令:

1、启动一个 Activity:adb shell am start -n activityname   
2、等待页面启动完成:adb shell am start -W activityname    
3、先停止应用再启动:adb shell am start -S activityname  
4、结束应用: am force-stop  packagename       

4.adb shell dumpsys基本的命令:

  1. 监控应用数据

     adb shell dumpsys cpuinfo       cpu信息
     adb shell dumpsys meminfo       内存信息
    adb shell dumpsys power         电源信息
    adb shell dumpsys battery       电池信息
     adb shell dumpsys wifi          wifi信息
    adb shell dumpsys notification  通知信息
    adb shell dumpsys activity      获取页面信息
    

5.关闭某项进程,以monkey为例:

  • 杀死monkey进程:

    ps | grep monkey     查看monkey进程的pid
    kill pid             杀死monkey进程
    

6.最近12小时的资源情况:

dumpsys procstats --hours 12    最近12小时的资源情况

7.录制屏幕命令:

adb shell screenrecord /sdcard/demo.mp4    视频录制命令

可选参数:

  1. 限制录制时间:
    参数: --time-limit

  2. 指定视频分辨率大小:
    参数: --size

  3. 指定视频的比特率:
    参数: --bit-rate

  4. 在命令行显示log:
    参数: --verbose

8.截图命令:

 adb shell screencap -p /sdcard/screen.png    截图并保存到指定位置

9.input命令:

adb shell input:

text 输入文本
keyevent 输入事件
tap 点击
swipe 滑动<坐标><坐标为原地,则是长按>

10.关于获取当前页面的信息:

adb shell dumpsys activity top | findstr ACTIVITY    获取当前界面的Activity
adb shell dumpsys activity | findstr mFocusedActivity   获取当前页面的activity

11.生成当前页面的xml文本:

adb shell uiautomator dump [file]    获取当前页面的xml信息

text 控件中显示的文本内容
class 控件的类型
package 包名
content-desc 说明
checkable 是否允许check
checked check状态
clickable 是否允许click
enabled 控件状态
focusable 是否允许获取焦点
focused 是否获取到焦点
scrollable 是否允许滚动
long-clickable 是否允许长安
password 是否是密码控件
selected select状态
bounds 控件绘制的长宽及位置 四个数据,分成两组,分别是 左上坐标和右下坐标

12.打印页面的log信息:

 logcat -s ActivityManager    打印页面的log信息

13.系统操作指令

adb shell getprop ro.product.model  获取设备型号

adb shell getprop ro.build.version.release  获取设备 Android 系统版本

adb get-serialno  获取设备的序列号(设备号)

adb shell wm size  获取设备屏幕分辨率

adb shell dumpsys activity |find "mFocusedActivity" 查看前台应用包名,适用于 Android 7.0 以下,必须先启动 app
adb shell dumpsys activity |find "mResumedActivity" 查看前台应用包名,适用于 Android 8.0 以上,必须先启动 app

你可能感兴趣的:(Andriod,adb,android,智能手机,安卓手机,ADB)