【问题标题】:Getting Error while running UI AUTOMATOR , using java 1.8运行 UI AUTOMATOR 时出错,使用 java 1.8
【发布时间】:2020-07-08 01:38:53
【问题描述】:

当我在终端打开 uiatuomator 时,它工作正常,但只要我点击 uiautomator 连接到模拟器,我就会收到此异常

Android API- 29

终端异常:

Unhandled event loop exception during blocked modal context.
org.eclipse.swt.SWTException: Failed to execute runnable (java.lang.NullPointerException)
    at org.eclipse.swt.SWT.error(Unknown Source)
    at org.eclipse.swt.SWT.error(Unknown Source)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Unknown Source)
    at org.eclipse.swt.widgets.Display.runAsyncMessages(Unknown Source)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
    at org.eclipse.jface.operation.ModalContext$ModalContextThread.block(ModalContext.java:173)
    at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:388)
    at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:507)
    at com.android.uiautomator.actions.ScreenshotAction.run(ScreenshotAction.java:85)
    at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
    at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
    at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
    at org.eclipse.jface.action.ActionContributionItem$6.handleEvent(ActionContributionItem.java:452)
    at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Display.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.notifyListeners(Unknown Source)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
    at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
    at org.eclipse.jface.window.Window.open(Window.java:801)
    at com.android.uiautomator.UiAutomatorViewer.main(UiAutomatorViewer.java:78)
Caused by: java.lang.NullPointerException
    at org.eclipse.swt.widgets.Control.internal_new_GC(Unknown Source)
    at org.eclipse.swt.graphics.GC.<init>(Unknown Source)
    at org.eclipse.swt.graphics.GC.<init>(Unknown Source)
    at org.eclipse.jface.dialogs.Dialog.shortenText(Dialog.java:349)
    at org.eclipse.jface.dialogs.ProgressMonitorDialog.setMessage(ProgressMonitorDialog.java:652)
    at org.eclipse.jface.dialogs.ProgressMonitorDialog.access$3(ProgressMonitorDialog.java:644)
    at org.eclipse.jface.dialogs.ProgressMonitorDialog$3.run(ProgressMonitorDialog.java:406)
    at org.eclipse.swt.widgets.RunnableLock.run(Unknown Source)
    ... 22 more

【问题讨论】:

  • 我的 Mac 也有同样的问题。你找到解决办法了吗?
  • 不,我尝试再次安装 android sdk 但没有成功

标签: android android-uiautomator uiautomatorviewer


【解决方案1】:

java SDK 版本出现此问题。我有 java 版本 1.8.262,即使正确设置路径变量,我也遇到了多个问题。你可以试试……

更改 java 版本并正确设置路径变量后。我知道它正在工作。

将您的 Java 版本降级为“1.8.0_231”,您可以在此处获取:https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html

在你的 bash_profile 中设置环境。要做到这一点 - 转到 MAC DISK 并找到“.bash_profile”打开,编辑并放置路径

示例:

export ANDROID_HOME=~/Library/Android/sdk
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home

export PATH=$PATH:$JAVA_HOME/bin
export PATH=$PATH:$JAVA_HOME/lib
export PATH=$PATH:$ANDROID_HOME/platform-tools
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/build-tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/tools/lib/x86_64

退出终端并重新打开输入“uiautomatorviewer”并回车

它。

【讨论】:

  • 感谢它有效@shofin,我使用的是较新版本,并且 231 它有效
  • 请你把它作为正确的答案.. @Shah
猜你喜欢
  • 2016-01-28
  • 1970-01-01
  • 1970-01-01
  • 2015-06-07
  • 2016-04-09
  • 2021-12-26
  • 1970-01-01
  • 2023-03-05
  • 1970-01-01
相关资源
最近更新 更多