UIAutomatorViewer排查问题

UIAutomatorViewer排查问题

一、背景:

排查一个弹窗展示的问题,不知道为什么会无缘无故的出现一个弹窗
UIAutomatorViewer排查问题_第1张图片

通过android studio拍查不到这个弹窗,那么怎么办呢 想起来了eclipse中有一个工具UIAutomatorViewer,这个工具能展示出id以及其他的信息。

二、方案

1、下载

但是android3.0之后就无法使用了,那么怎么办?经过排查有一个独立运行的uiautomatorviewer。
而这个源码地址在:https://github.com/cmlanche/uiautomatorviewer-standalone

下载完成之后是一个java工程的,资料说可以通过

mvn clean package

进行打包,
如果显示command not found可能是没有下载Maven 。而安装的教程放在了https://www.jianshu.com/p/f1bda85a7bf4;

2、编译

还有一个方法就是 我们自己运行起来 放在我们的IntelliJ IDEA里面
UIAutomatorViewer排查问题_第2张图片

在intellij导入我们的工程,直接运行起来
但是出错了

***WARNING: Display must be created on main thread due to Cocoa restrictions. Use vmarg -XstartOnFirstThread
org.eclipse.swt.SWTException: Invalid thread access
	at org.eclipse.swt.SWT.error(SWT.java:4869)
	at org.eclipse.swt.SWT.error(SWT.java:4784)
	at org.eclipse.swt.SWT.error(SWT.java:4755)
	at org.eclipse.swt.widgets.Display.error(Display.java:1103)
	at org.eclipse.swt.widgets.Display.createDisplay(Display.java:851)
	at org.eclipse.swt.widgets.Display.create(Display.java:835)
	at org.eclipse.swt.graphics.Device.(Device.java:130)
	at org.eclipse.swt.widgets.Display.(Display.java:734)
	at org.eclipse.swt.widgets.Display.(Display.java:725)
	at org.eclipse.swt.widgets.Display.getDefault(Display.java:1437)
	at org.eclipse.swt.widgets.Shell.(Shell.java:278)
	at org.eclipse.swt.widgets.Shell.(Shell.java:379)
	at org.eclipse.jface.window.Window.createShell(Window.java:487)
	at org.eclipse.jface.window.Window.create(Window.java:430)
	at org.eclipse.jface.window.Window.open(Window.java:788)
	at com.android.uiautomator.UiAutomatorViewer.main(UiAutomatorViewer.java:78)

修改一下运行的配置参数 -XstartOnFirstThread
UIAutomatorViewer排查问题_第3张图片
再次运行就完美解决了!运行起来了
UIAutomatorViewer排查问题_第4张图片

三、收益

以后查看控件情况就可以用这个工具了!

四、引用资料

https://blog.csdn.net/weixin_42501018/article/details/120370594

你可能感兴趣的:(移动开发,Android,eclipse)