当前位置: 首页 > wzjs >正文

建宣传网站深圳市网站建设科技公司

建宣传网站,深圳市网站建设科技公司,广东省 网站建站,绵阳市建设工程信息网站背景: android studio上下载那些插件等,使用过程中都发现有需要设备是user-debug的,如果是user版本那就无法进行抓取。 那么有没有什么方法课可以在user版本也进行抓取和进行相关的分析呢? uiautomatorviewer工具使用介绍 在s…

背景:

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 mode1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1111      manual mode2            /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 modePress <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

http://www.dtcms.com/wzjs/831570.html

相关文章:

  • 如何利用tp-link按错900做网站邢台网站优化建设
  • 安宁区网站制作有什么网站用名字做图片
  • 自己在家做网站怎么做公众号微信
  • 免费1级做爰网站镇江公司网站建设
  • 建网站要什么工做人员济南大型网站制作
  • 建设网站的目的和功能wordpress设置中英版
  • 网络及建设公司网站设计制作内容
  • 怎么做付款链接网站网站建设需
  • 徐州招聘网最新招聘有了网站 怎么做排名优化
  • 青之峰网站建设哪家好响应式潍坊网站建设
  • 美发网站模板网络舆情工作流程的六个步骤
  • 服务器搭建网站视频教程wordpress淘宝客网站
  • 省通信管理局 网站备案制度流程简单的企业网站cms
  • 厦门制作网站哪家好在线定制t恤
  • 在网上做黑彩网站会怎样单页html模板
  • 个人网站趋向顺庆移动网站建设
  • 网站优化协议一般通过彩推人
  • 如何创建公司网页优化公司
  • 瀑布流网站模板做网站开发公司
  • 海南网站搭建价格wordpress 媒体管理
  • 做网站前的准备什么网络营销书籍排行榜前十名
  • 网站建设对企业重要性招远网站建设哪家好
  • 博客做资讯类网站网络推广渠道有哪些及策划思路
  • 做兼职网站设计木门行业做网站有什么好处
  • 做网站的怎么认证微博深圳市建设网站公司
  • 网站口碑推广美食网站中饮食资讯该怎么做
  • 景点介绍网站模板微网站开发入门
  • iis网站右键没有属性黑客软件资源网站
  • 网站备案号有什么用论文网站建设
  • 转入已备案网站本地安装wordpress