vivo真机adb 命令获取手机当前窗口信息

1、命令:adb shell dumpsys activity activities

adb shell dumpsys activity activities作用:主要用于获取当前窗口系统的详细状态信息。

在命令行输入命令后,显示如下信息:

复制代码
C:\Users\batytao>adb shell dumpsys activity activities
ACTIVITY MANAGER ACTIVITIES (dumpsys activity activities)
Display #0 (activities from top to bottom):
  * Task{545b61 #7395 type=standard A=10250:com.tencent.mm U=0 displayId=0 mode=fullscreen sz=1 U=0 visible=true visibleRequested=true mode=fullscreen translucent=false sz=1}
    mLastPausedActivity: ActivityRecord{be7b8ba u0 com.tencent.mm/.ui.LauncherUI t7395 d0}
    isBubbleTask=false
    mLastNonFullscreenBounds=Rect(285, 717 - 795, 1797)
    isSleeping=false
    topResumedActivity=ActivityRecord{be7b8ba u0 com.tencent.mm/.ui.LauncherUI t7395 d0}
    * Hist  #0: ActivityRecord{be7b8ba u0 com.tencent.mm/.ui.LauncherUI t7395 d0}
      packageName=com.tencent.mm processName=com.tencent.mm
      launchedFromUid=10143 launchedFromPackage=com.bbk.launcher2 launchedFromFeature=null userId=0
      app=ProcessRecord{65ff9ef 11489:com.tencent.mm/u0a250}
      Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x30200000 cmp=com.tencent.mm/.ui.LauncherUI bnds=[555,1415][771,1667] }
      rootOfTask=true task=Task{545b61 #7395 type=standard A=10250:com.tencent.mm U=0 displayId=0 mode=fullscreen sz=1}
      taskAffinity=10250:com.tencent.mm
      mActivityComponent=com.tencent.mm/.ui.LauncherUI
      baseDir=/data/app/~~jiazHqi9_0Vc-owHdBf8hg==/com.tencent.mm-zQY-tIT9Gnt_F6mKHJla4w==/base.apk
      dataDir=/data/user/0/com.tencent.mm
      stateNotNeeded=false componentSpecified=true mActivityType=standard
      compat={480dpi} theme=0x7f1102ab

输入命令:adb shell dumpsys activity activities | findstr topResumedActivity。显示当前手机顶层打开的app和界面

复制代码
C:\Users\batytao>adb shell dumpsys activity activities | findstr topResumedActivity
    topResumedActivity=ActivityRecord{be7b8ba u0 com.tencent.mm/.ui.LauncherUI t7395 d0}

adb shell dumpsys activity activities | findstr mFocusedWindow

mLastPausedActivity 最后暂停活动的

mResumedActivity 恢复活动的

mActivityComponent

mFocusedWindow 当前聚焦窗口

topResumedActivity 当前顶部恢复活动的界面

2、使用 ADB 命令截图

操作步骤‌:

在命令行执行以下命令:

复制代码
adb shell uiautomator dump /sdcard/app.uix
adb pull /sdcard/app.uix E:/app.uix
adb shell screencap -p /sdcard/app.png
adb pull /sdcard/app.png E:/app.png

在 UI Automator Viewer 中导入 app.uix 和 app.png 文件。

说明‌:此方法适用于 Android 8.0+ 系统,需提前在 E 盘创建 app.uix 和 app.png 文件。

3、appium 首次连接真机

一、连接方式

Appium 支持通过 ‌USB ‌ 或 ‌Wi-Fi‌ 两种方式连接 Android 手机。以下是具体操作步骤:


1. ‌**USB 连接(推荐)**‌

步骤:

  1. 启用开发者选项和 USB 调试

    • 打开手机 ‌设置 ‌ → ‌关于手机 ‌ → ‌连续点击版本号‌(7 次)
    • 返回 ‌设置 ‌ → ‌系统 ‌ → ‌开发者选项 ‌ → ‌启用 USB 调试
    • 重新插线手机,弹窗授权 USB 调试(若无弹窗,手动授权)
  2. 检查设备连接

    • 在电脑命令行输入:

      复制代码
      db devices 
    • 显示类似:

      复制代码
      List of devices attached 14e9058c device 
    • 若无设备显示,尝试:

      • 换 USB 端口或线

      • 重启 adb 服务:

        复制代码
        adb kill-server 
        adb start-server 
      • 检查驱动是否安装(Windows)


2. ‌**Wi-Fi 连接(无需数据线)**‌

步骤:

  1. USB 连接并启用 Wi-Fi 调试

    • 连接手机 USB,执行:

      复制代码
      db tcpip 5555 
    • 返回:restarting in TCP mode port: 5555

  2. 获取手机 IP 地址

    • 通过命令:

      复制代码
      db shell ip -f inet addr show wlan0 
    • 或手机设置 → ‌Wi-Fi ‌ → ‌长按已连接网络 ‌ → ‌IP 地址

  3. 断开 USB 并通过 Wi-Fi 连接

    • 执行:

      复制代码
      db connect <手机IP>:5555 
    • 返回:connected to <手机IP>:5555

    • 再次检查:

      复制代码
      db devices

      三、配置 Appium 启动参数

      必要参数:

      | 参数名 | 说明 | 获取方法 |
      |-------------------|------------------------------|---------------------------------------------------------|---------------------|
      | platformName | 平台(Android/iOS) | 固定值 Android |
      | platformVersion | 系统版本(如 11.0) | adb shell getprop ro.build.version.release |
      | deviceName | 设备名称(如 OnePlus8) | adb devices -ladb shell getprop ro.product.model |
      | appPackage | 应用包名(如 com.example) | `adb shell dumpsys activity | findstr "mResume"` |
      | appActivity | 启动 Activity(如 .MainActivity) | 同上 |

    desired_caps = {
    "platformName": "Android",
    "platformVersion": "11.0",
    "deviceName": "OnePlus8",
    "appPackage": "com.example",
    "appActivity": ".MainActivity",
    "noReset": True
    }

四、启动 Appium 服务

  1. 启动 Appium 服务器

    • 打开 Appium GUI,点击 ‌Start Server
    • 点击 ‌Start Inspector Session‌,输入参数启动会话
  2. 验证连接

    • 若手机提示安装 Appium Settingsio.appium.uiautomator2.server,允许安装

(注意:1、手机连接电脑;2、adb 连接手机正常;3、启动appium;4、python代码配置连接appium。按上述步骤执行,在真机(手机)装,会提示安装 Appium Settings 。正常安装后,可正常通过appium进行调试)

相关推荐
夜雪一千13 分钟前
MySQL 全局锁是什么?原理、风险、备份踩坑完整实战
android·mysql·adb
clorinda7 小时前
MySQL 入门笔记:DQL 基础查询与常用函数
adb
Code额9 小时前
基于 SQLAlchemy 2.x,面向 MySQL 数据库的从入门到精通实战教程(2)
数据库·sql·mysql·adb·ai
游戏开发爱好者81 天前
WebSocket 抓包怎么查看内容?从握手到消息帧完整解读
网络协议·计算机网络·网络安全·ios·adb·https·udp
00后程序员张2 天前
SSL Pinning 抓包抓不到明文?绕过证书固定的几种方案
网络协议·计算机网络·网络安全·ios·adb·https·udp
没文化的阿浩3 天前
【MySQL】数据类型
android·mysql·adb
黄毛火烧雪下4 天前
智能眼镜无线adb调试
adb
游戏开发爱好者84 天前
带签名时间戳接口的重放与压力测试实战,用动态值在发送前现算签名
网络协议·计算机网络·网络安全·ios·adb·https·压力测试
Lethehong6 天前
MySQL迁移如何做到零改造?四层兼容方案详解
数据库·mysql·adb
陈卿诺语8 天前
MySQL错误-this is incompatible with sql_mode=only_full_group_by完美解决方案
sql·mysql·adb