无法在 Mac High Sierra 上打开 UIAutomatorviewer

Unable to open UIAutomatorviewer on Mac High Sierra

我们有配备 High Sierra (10.13.6) 的全新 MacBook。 其他系统信息:

JAVA Version: java version "11.0.1" 2018-10-16 LTS

Java(TM) SE 运行时环境 18.9(内部版本 11.0.1+13-LTS)

JAVA_HOME: /Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home

尝试打开 Android UIAutomatorViwer 时出现以下错误:

/Library/Android/sdk/tools/bin/uiautomatorviewer ; exit;

/Library/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. logout Saving session... ...copying shared history... ...saving history...truncating history files... ...completed. Deleting expired sessions...111 completed.

更多详情: Java 位于:/usr/bin/java

  • 安装较旧 java(8) JDK
  • 在 JAVA_HOME
  • 中将 Java 版本更新为 1.8

用于更新Java版本的命令:

cd ~/
vim ~/.bash_profile
Updated the JAVA_HOME
Save in vim using :wq!
source ~/.bash_profile

  • 重新启动,UiAutomatorViewer 正在运行!

工作完美!

第一步:cd ~/ 第 2 步:vim~/.bash_profile

- 添加文本 "export ANDROID_HOME ..." 以结束文本。

您需要 Java 8 用于 uiautomator 以及其他线程中提到的。但是您可以在不更新 JAVA_HOME 变量的情况下执行此操作。

使用任何编辑器更新 uiautomator.bat 文件中的 java_exe 路径。

对于 Windows 系统,找到行

set java_exe=call ..\lib\find_java.bat

更新为:

set java_exe=C:\Program Files\Java\jdk1.8.0_271\bin\java.exe

这样就不需要更新jdk版本更高的JAVA_HOME变量(对其他程序有用)。

如果您真的不想升级到 Java 11.0 但仍想 运行 那么这可能会有所帮助。

uiautomatorviewer 适用于 Java 版本 8。您无需将 java 版本降级到 1.8。而是将此方法添加到 .bash_profile

uiautomator() {
        export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home
        export ANDROID_HOME=/Users/<username>/Library/Android/sdk
        export PATH=$PATH:$ANDROID_HOME/platform-tools:$ANDROID_HOME/build-tools:$ANDROID_HOME/tools
        /Users/<username>/Library/Android/sdk/tools/bin/uiautomatorviewer
}

这会将 JAVA_HOME 路径设置为 1.8,并将 android 平台和构建工具包含到路径变量中。

或者,

  1. 重新启动终端以反映更改或
  2. 在当前终端中通过 . .bash_profile 编译您的 .bash_profile 以反映它。

开始在您的终端中输入 uiautomator。它应该有效!