User手机上如何抓取界面的布局uiautomatorviewer

Android布局层次结构查看工具-uiautomatorviewer介绍 uiautomatorviewer基本介绍 Android平台上的uiautomatorviewer工具已经存在很多年,不熟悉的朋友一定会觉得它的名字很怪异……,分开来看就清楚多了:UI Automator Viewer(中文直译:界面自动化 查看器),这个工具是测试框架UI Automator的配套工具(随该测试框架一同推出,专门用于查看布局层次结构),利用该工具可以查看当前Android设备屏幕上的控件信息,下方是我利用uiautomatorviewer工具截取的微信App的布局层次结构! ... 阅读详情

背景:

android studio上下载那些插件等,使用过程中都发现有需要设备是user-debug的,如果是user版本那就无法进行抓取。

那么有没有什么方法课可以在user版本也进行抓取和进行相关的分析呢?

uiautomatorviewer工具使用介绍

在sdk中其实有一个自带的布局展示和抓取工具uiautomatorviewer,所在路径如下:

test@test:~/Android/Sdk/tools/bin$ ls | grep ui
uiautomatorviewer

如果安装了sdk,在~/Android/Sdk/tools/bin下面的uiautomatorviewer可执行文件.
这里大家可以尝试执行一下:

test@test:~/Android/Sdk/tools/bin$ ./uiautomatorviewer 
-Djava.ext.dirs=/home/test/disk2/aosp14/prebuilts/tools/linux-x86_64/swt:/home/test/Android/Sdk/tools/lib is not supported.  Use -classpath instead.
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

明显会报错哈,这里报错其实本质上是因为当前terminal的java环境不是1.8的,所以大家切记要考虑把当前terminal的java版本变成1.8,如果没有1.8大家可能需要根据自己ubuntu版本进行百度安装1.8.
安好后可以使用如下命令进行切换:

test@test:~/Android/Sdk/tools/bin$ sudo update-alternatives --config java 
There are 3 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-17-openjdk-amd64/bin/java      1711      auto mode
  1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1111      manual mode
  2            /usr/lib/jvm/java-17-openjdk-amd64/bin/java      1711      manual mode
* 3            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode

Press <enter> to keep the current choice[*], or type selection number: 3

切换后,新开一个terminal,然后看看java版本号

test@test:~/Android/Sdk/tools/bin$ java -version
openjdk version "1.8.0_422"
OpenJDK Runtime Environment (build 1.8.0_422-8u422-b05-1~20.04-b05)
OpenJDK 64-Bit Server VM (build 25.422-b05, mixed mode)

如果看到了java是1.8版本那么就可以再次执行uiautomatorviewer;

test@test:~/Android/Sdk/tools/bin$ ./uiautomatorviewer 
Gtk-Message: 15:32:07.259: Failed to load module "canberra-gtk-module"

执行后发现可以启动一个ui界面
在这里插入图片描述点击第三个按钮对当前画面进行dump看看画面布局相关
在这里插入图片描述
上面结果可以看到,确实有抓住手机设备的布局,但当前抓的也是模拟的设备,尝试一下user手机的抓取看看:
在这里插入图片描述
大家可以看到明显也可以展示出详细的布局情况,到此大家可能以为整个就结束了,觉得可以抓取user版本的布局,但是大家是否有注意,这里抓取的其实只是主要Activity画面的布局,其实并没有抓到状态栏的布局,那么到底怎么样才可以抓到StatusBar的布局呢?

抓取StatusBar相关布局

想要可以抓到看到StatusBar相关窗口的布局,想直接使用uiautomatorviewer这个工具自带按钮肯定是不行。
需要做到可以找事StatusBar等,是需要对uiautomatorviewer进行研究,具体研究画面如下:
本质上uiautomatorviewer就是抓取了设备上的两个文件才可以进行展示的,具体文件如下:

1、当前手机的截图画面png文件

2、抓取当前手机的uix文件,这个文件其实就是xml文件,可以通过uiautomatorviewer工具点击保存按钮可以看到这个文件。
在这里插入图片描述
可以看看uix文件内容:
在这里插入图片描述

有了这个2文件可以直接使用uiautomatorviewer进行导入
在这里插入图片描述
那么这个文件来自哪里呢?其实这些uix文件就是通过uiautomator命令可以直接获取。

NX669J:/ $ uiautomator dump --compressed                                                                                                                                                                          
UI hierchary dumped to: /sdcard/window_dump.xml

那么也就是我们只需要考虑把StatusBar,Activity等所有的布局数据抓到,然后放入xml,再导入上面的uiautomatorviewer进行展示既可以。

更多framework干货,请关注下面“千里马学框架”

原文地址:
https://mp.weixin.qq.com/s/q4ryrRIl5vjrtYSXwqBKnA

UI Automator Viewer的使用 原因是在于,uiautomatorviewer.bat中,需要知道SDK下的子目录platform-tools的路径,即bat文件中的“%prog_dir%”,因此我们需要修改uiautomatorviewer.bat中最后一行代码,将“%prog_dir%”替换为platform-tools的实际目录。从左至右分别用于:打开已保存的布局,获取详细布局,获取简洁布局,保存布局。通过使用UI Automator Viewer,我们可以在没有代码的情况下,查看控件布局,并获取UI的ID,用于之后的脚本编写。 阅读详情

相关推荐

『与善仁』Appium基础 — 19、元素定位工具之UI Automator Viewer

文章目录(一)uiautomatorviewer定位工具1、uiautomatorviewer介绍2、uiautomatorviewer工具打开方式3、uiautomatorviewer布局介绍4、uiautomatorviewer工具的使用 之前我们在做web页面自动化的时候就说过,元素定位是页面自动化的第一步。 同理App自动化测试的第一步,也是元素的定位。 在APP中定位元素的话,需要借助一些元素定位工具。 APP中的元素定位工具大致有三种: uiautomatorviewer Appium Ins

繁华似锦Fighting 1521

UI Automator Viewer工具的使用

一.uiautomatorviewer介绍 使用uiautomatorviewer,你可以检查一个应用的UI来查看应用的布局和组件以及相关的属性。该工具位于SDK目录下的tools\bin子目录下。 二、启动uiautomatorviewer 1、在SDK的安装目录下双击uiautomatorviewer.bat就可以启动 2、也可以使用cmd命令进行启动,cd到tools目录下,然后输入uiautomatorviewer.bat回车后启动服务。启动界面如下: 注意:点击uiautoma.

sheep0924的博客 1万+

深入解析UIAutomatorViewer:Android自动化测试与元素定位工具

本文还有配套的精品资源,点击获取 简介:UIAutomatorViewer是Android SDK的一部分,专门用于UI自动化测试和元素分析。它能捕捉设备或模拟器上的UI组件层次结构,并提供元素信息如坐标、大小及XPath等,这对于自动化测试尤其重要。文章详细介绍了UIAutomatorViewer的使用步骤、相对XPath的应用和一些注意事项,以帮助开发者有效进行自动化测...

weixin_29781865的博客 3721

移动端测试工具 uiautomatorviewer完全使用攻略

原因是我连接的是真机,而操作系统是Android13,但是自带的uiautomatorviewer不支持Android8.0之后的操作系统了。

公众号【伤心的辣条】资料领取~ 4186

掌握UIAutomatorViewer以简化Android自动化测试

在移动应用的自动化测试领域,UI Automator是一个非常实用的框架,特别是在Android平台上。它允许开发者或测试工程师编写脚本来模拟用户与设备界面的交互,这对于验证应用界面的功能性和稳定性至关重要。UI Automator支持跨应用的界面操作,这一点使其在执行复杂的用户交互流程测试时显得尤为强大。在深入探讨UI Automator Viewer的高级功能之前,理解UI Automator的基本概念和工作原理是基础。

weixin_42355400的博客 1496

增强版UI自动化测试工具uiautomatorviewer详解

随着移动互联网的快速发展,Android应用的UI自动化测试逐渐成为质量保障的重要环节。本章将从UI自动化测试的背景出发,分析其在软件开发生命周期中的作用,并介绍主流的自动化测试框架与工具。同时,重点探讨uiautomatorviewer作为UI自动化测试中关键工具的地位及其在增强版中的改进与优化。通过本章的学习,读者将对UI自动化测试的整体架构和核心价值有全面的理解。启动有两种方式:方式一:命令行启动方式二:通过 Android Studio 启动- 点击顶部菜单栏的。

weixin_42601547的博客 1418

Android Studio 中使用uiautomatorviewer插件

这个插件拆分出来就是UI Automator Viewer(界面 自动化 查看器),本身是Android的UI Automator测试框架(Ui自动化框架)的配套工具,该工具可以查看当前设备屏幕上的控件信息。表示控件所在应用的包名,选中控件是相机上的一个控件,所以package值是org.codeaurora.snapcam,这个就是表示相机app的包名。当你单击一个控件后,就会显示出来控件的详细信息,或者单击右侧的View树展示区,也会在屏幕显示相应的控件。

qrx941017的博客 1万+

『ISOBUS 入门』第 00 节 导言:ISOBUS 的宏观图景与入门路径

ISOBUS 是由三部分构成的集成系统:两段CAN网络(拖拉机与农具侧)、标准化通信约定及认证流程。其核心在于通过统一协议实现跨品牌设备即插即用。标准体系以ISO 11783为基础,分层涵盖物理层、传输层至应用层,关键功能如虚拟终端(VT)、任务控制器(TC)和文件服务器依赖严格的会话管理与角色分工。实际部署中,总线上传输多种协议报文,故障排查需结合地址声明、多包传输与角色权限分析。学习应从真实报文入手,建立“角色—数据流—功能块”认知链,避免仅学标准或仿真替代实测,方能有效应对复杂现场问题。

linx295的博客 286

Android万能布局检查器UI Automator Viewer使用教程、环境配置和Mac无法打开问题解决(uiautomatorviewer,android studio,layer,查看,错误)

1 问题背景 作为Android开发者的我们一般用Android Studio自带的Layout Inspector(布局检查器)来检查可调试APP的实时布局层级: 但是Layout Inspector有很大的局限性,它只能用来调试那些“可调试APP”,即该APP的AndroidManifest.xml文件中Application标签的android:debuggable属性的值为true: <?xml version="1.0" encoding="utf-8"?> <manifest

快乐李同学的博客 1万+

告别密码本!用Windows NPS给华为/华三交换机做Radius认证,SSH登录更安全

本文详细介绍了如何利用Windows NPS实现华为/华三交换机的Radius认证,提升SSH登录安全性。通过集中化管理、精细化控制和完整审计追踪,企业可告别传统密码本,大幅提升网络设备管理效率。文章包含NPS服务部署指南、交换机配置详解及调试技巧,助力企业构建安全高效的统一认证体系。

weixin_42549723的博客 421

单细胞分析避坑指南:SCTransform和Harmony参数设置详解

本文深入解析了单细胞分析中SCTransform标准化与Harmony批次校正的关键参数设置。针对10x Genomics等数据,详细探讨了如何通过调整`vars.to.regress`、`theta`等核心参数,在有效去除技术噪音的同时,避免过度校正以保留关键的生物学差异,从而提升分析结果的可靠性与可解释性。

weixin_29053073的博客 611

手机控件查看工具uiautomatorviewer

1.工具描述 用来扫描和分析Android应用程序的UI控件的工具. 2.如何使用 1.进入SDK目录下的tools目录,打开uiautomatorviewer 2.电脑连接真机或打开android模拟器 3.启动待测试app 4.点击uiautomatorviewer的左上角Device Screenshot,会生成app当前页面的UI控件截图 5.选择截图上需要查看的控件,即可浏览该控件的id,class,text,坐标等信息 ...

q18735924674的博客 6456

166、电流环带宽测试

本文分享了电流环带宽测试的实战经验,揭示了常见误区:误将系统其他环节(如PWM、ADC、传感器)的延迟当作电流环性能。强调带宽测试需先断开速度/位置环,采用扫频法注入正弦信号,结合伯德图分析幅值与相位响应。关键点包括:控制频率步进为对数、确保采样时序精准、避免传感器带宽限制影响结果。文中指出“假带宽”现象(如鼓包、增益超0dB)多源于非线性或机械共振,建议遵循“先开环后闭环”“带宽非越高越好”“阶跃验证”三原则,并建立出厂基准曲线以支持后期故障诊断。

2401_88858637的博客 178

UIAutomatorViewer独立包

这个工程是谷歌官方UIAutomatorViewer改造而来,用来抓取UIAutomator控件的工具,支持独立运行,但因为其依赖于swt,所以需要在mac和windows下分别编译。下载地址:https://github.com/cmlanche/uiautomatorviewer-standalone。

qq_15050521的博客 1774

C语言使用开源库libusb进行USB设备操作

https://libusb.info/libusb is a C library that provides generic access to USB devices. It is intended to be used by developers to facilitate the production of applications that communicate with USB hardware. It is portable: Using a single cross-platform AP

m0_60352504的博客 1555

Windows部署OpenClaw报错不断?这篇环境配置指南帮你解决难题

想在Windows上部署OpenClaw却频频报错?🔧 本文详细梳理了OpenClaw部署必需环境的安装步骤和官方下载地址 📦,提供完整的验证清单和常见问题排查方法,帮你一次性搞定所有环境配置,顺利部署OpenClaw ✅

XiaoqiangClub的博客 6660

Appium基础篇5-抓元素工具之UI Automator Viewer

在开始介绍元素定位之前,我们需要介绍一个工具,这个工具是Android SDK 自带的工具,叫UI Automator Viewer,可以在SDK\tools下找到这个工具并启动它,本篇,来介绍下这个工具的基本使用,通过学习本篇,基本上能够通过UI Automator Viewer来获取安卓app页面上的元素的定位表达式。 1.在Android SDK 目录下,找到tools文件夹 2.

Anthony_tester的博客 8386

(3dnr)多帧视频图像去噪 (一)

视频图像去噪主要利用相邻帧间内容相似性,通过时域帧平均降低随机噪声。为避免运动物体产生"拖尾"现象,可采用运动自适应或运动补偿时域滤波方法。前者根据运动强度动态调整滤波系数,后者通过运动补偿使参考帧更接近当前帧。运动补偿方法虽能更好处理运动区域,但计算复杂度高且对快速运动场景效果有限。相比之下,运动自适应方法在实时视频处理中更具优势,能平衡去噪效果与硬件资源消耗。两种方法可根据场景动态切换以获得最佳去噪效果。

大熊 1873

APP自动化测试(4)-定位工具uiautomatorviewer介绍

uiautomatorviewer工具操作介绍使用介绍

wanglx1984的博客 1790

ABAP Module Pool 编程入门:把 Table Control 用透,在 Dynpro 里做出可编辑的列表界面

摘要:Table Control是SAP GUI中用于对话式事务的多行数据交互控件,具备滚动、选择、修改等功能。它通过CXTAB_CONTROL/CXTAB_COLUMN结构实现动态控制,需在PBO/PAI中配合LOOP循环处理数据流。开发时需注意LINES、TOP_LINE等关键字段设置,并采用并行循环简化编码。典型应用包括订单行维护、主数据管理等场景,支持多选删除、列排序等业务需求。(150字)

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 347

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

【免费下载】 uiautomatorviewer 工具,支持Android 9.0

uiautomatorviewer 工具,支持Android 9.0 【下载地址】uiautomatorviewer工具支持Android9.0 uiautomatorviewer是一款专为Android 9.0设计的UI控件分析工具,能够高效扫描并抓取应用程序中的UI元素。它不仅支持通过xpath精准定位控件,还与ap...

gitblog_06751的博客 956

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

【亲测免费】 uiautomatorviewer工具支持Android9.0:项目的核心功能/场景

uiautomatorviewer工具支持Android9.0:项目的核心功能/场景 【下载地址】uiautomatorviewer工具支持Android9.0 uiautomatorviewer是一款专为Android 9.0设计的UI控件分析工具,能够高效扫描并抓取应用程序中的UI元素。它不仅支持通过xpath精准定...

gitblog_06722的博客 807

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

自动化测试-uiautomatorviewer.bat

目录认识定位控件(元素定位工具)功能及按钮介绍定位方式Appuim支持的定位方式支持层级定位支持部分定位Android原生支持元素定位方式 认识定位控件(元素定位工具) 该工具位于android-sdk-windows\tools\uiautomatorviewer.bat双击即可启动,启动过程中组件所打开的CMD窗口不用关闭;手机开启USB调试,或打开模拟器即可使用 在使用Appium的时候,需要填写Desired Capabilities,这里使用Android SDK自带的uiautomatorvi

weixin_45576146的博客 6206

uiautomatorviewer.zip增强版

链接:https://pan.baidu.com/s/1x64nKcAk0zlU_HNsLMY5Bw 提取码:xgb2

zhushixia1989的博客 2301
上一篇: 提升系统开发效率:Android 系统编译及搜索内容命令
下一篇: SurfaceFlinger中有Layer泄漏一直增长超过4096问题如何排查-实战问题分析排查
千里马学框架
博客等级 码龄6年 1万+粉丝 651原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

千里马学框架

帮助你了,就请我喝杯咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值