UI Automator Viewer 的 GUI 损坏

问题描述 投票:0回答:6

问题

整个 GUI 都坏了。没有消息、按钮中没有文本、奇怪的符号等。
我想这可能是 SWT (see image)

环境

  • 桌面操作系统:macOS Catalina 10.15.4 (19E287)

  • 测试中移动平台/版本:Android

  • 真实设备或模拟器/模拟器:通过 Android Studio QEMU 模拟设备

  • Java: 使用brew安装了Java。

    openjdk版本“1.8.0_252”
    OpenJDK 运行时环境 (AdoptOpenJDK)(build 1.8.0_252-b09)
    OpenJDK 64 位服务器虚拟机 (AdoptOpenJDK)(内部版本 25.252-b09,混合模式)

  • Android Studio 从官方网页安装。

    Android Studio 4.0
    构建#AI-193.6911.18.40.6514223,构建于2020年5月20日
    运行时版本:1.8.0_242-release-1644-b3-6222593 x86_64
    VM:JetBrains s.r.o 的 OpenJDK 64 位服务器 VM
    macOS 10.15.4
    GC:ParNew、ConcurrentMarkSweep
    内存:1237M
    核心:12
    注册表:ide.new.welcome.screen.force=true
    非捆绑插件:

重现步骤

  1. 安装 Java 8
  2. 安装Android Studio
  3. 安装英特尔 HAXM
  4. 从终端运行
    uiautomatorviewer
    /Users/user/Library/Android/sdk/tools/bin/uiautomatorviewer

环境变量

export JAVA_HOME_8=$(/usr/libexec/java_home -v 1.8)

export JAVA_HOME=$JAVA_HOME_8
export PATH=$PATH:$JAVA_HOME/bin

export M2_HOME=/opt/apache-maven-3.6.3
export PATH=$PATH:$M2_HOME/bin

export ANDROID_HOME=/Users/user/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/build-tools
export PATH=$PATH:$ANDROID_HOME/platform-tools
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin

也许我错过了一些东西。另外,如果需要日志请告诉我。
谢谢

android swt ui-automation android-uiautomator uiautomatorviewer
6个回答
3
投票

如果您使用的是深色模式,可以尝试将 macOS 主题切换为浅色模式吗?我收到一个 Java 更新对话框,与您的屏幕截图类似。我意识到文本在那里,但它们是白色的,在白色窗口背景下看不到。当我点击一个按钮时我意识到了这一点。


1
投票

您必须在 Mac 设置中更改为灯光模式外观


0
投票

我也有同样的问题。我能够通过从采用openjdk切换到使用Java 1.8.0_231来修复它。问题可能是他们在采用openjdk 与 oracle 中使用不同的 GUI。来自 Acceptopenjdk 常见问题解答“对于 JDK8,AdoptOpenJDK 使用名为 Pisces 的开源渲染器。”希望有所帮助。


0
投票

MAC解决方案:

让这个工具 uiautomatorviewer 工作的唯一方法是按照 这个 Youtube 视频,您必须转到这个 Eclipse 网站,并下载版本

4.20
(较新的版本不起作用)。单击
4.20
版本后,一直滚动到底部到
SWT Binary and Source
部分,然后下载与您的 Mac 兼容的版本(我的是 swt-4.20-cocoa-macosx-x86_64.zip)。 打开 zip 文件夹并将文件
swt.jar
重命名为
swt2.jar
。 接下来,转到 /tools/bin 文件夹 打开文件夹 x86 和 x86_64 并将
swt2.jar
文件粘贴到其中。 重新启动您的终端并尝试再次打开
uiautomatorviewer

注意:当您第一次打开它时,最小化、最大化按钮将起作用,但您不会看到用于捕获屏幕截图的按钮。只需单击最大化和最小化,它们就会显示出来。


0
投票

UiAutomator GUI 损坏

  1. uiautomatorviewer 内置 Android SDK - /opt/homebrew/Caskroom/android-sdk/tools/bin/uiautomatorviewer
  2. 使用 ./uiautomator 在该目录中执行(如果需要,请使用 sudo 获取权限)
  3. 如果 UI 打开但损坏,请转至 https://download.eclipse.org/eclipse/downloads/index.html 并下载(4.20 或 4.19 有效)-> 在“SWT Binary and Source”下下载适合您平台的内容(对于 Mac M1,swt-4.19-cocoa-macosx-x86_64.zip)
  4. 解压 zip 文件并将 swt.jar 重命名为 swt2.jar
  5. 将 swt2.jar 文件粘贴到 x86 和 x86_64 目录中。 /opt/homebrew/Caskroom/android-sdk/tools/lib/x86 /opt/homebrew/Caskroom/android-sdk/tools/lib/x86_64
  6. 现在打开终端,转到 /opt/homebrew/Caskroom/android-sdk/tools/bin/ 并运行 uiautomatorviewer $ sudo ./uiautomatorviewer

0
投票

对于我来说,在我的 Mac 上,一旦

uiautomatorviewer
窗口打开,包含用于截取屏幕截图/捕获 UI 层次结构的图标的工具栏就不会显示。调整窗口大小后,工具栏开始显示。去算一下...

© www.soinside.com 2019 - 2024. All rights reserved.