uiautomatorviewer在mac上运行报错
sdkman及其常用命令
sdkman管理多版本java

uiautomatorviewer在mac上运行报错

在mac上遇到同样的问题uiautomatorviewer not working on latest MacOS

我之前安是通过brew安装指定版本的java:brew cask install adoptopenjdk/openjdk/adoptopenjdk8

java -version
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_252-b09)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.252-b09, mixed mode)

引起这个问题的根本原因是java版本不兼容的问题,所以在这里引入sdkman来管理sdk

sdkman

  1. sdkman官方安装指导
  2. sdkman官方使用指南

sdkman安装

$ curl -s "https://get.sdkman.io" | bash
$ source "$HOME/.sdkman/bin/sdkman-init.sh"
$ sdk version

sdkman常用命令

  1. 查看可安装的sdk:sdk list
  2. 查看某sdk可安装的版本如:sdk list java
  3. 安装sdk如:sdk install java
  4. 安装指定版本sdk如(先sdk list <sdk_name>获取到可安装的版本):sdk install java 8.0.202-zulu
  5. 删除sdk如:sdk uninstall java 8.0.265.hs-adpt
  6. 查看当前sdk版本如:sdk current java
  7. 使用指定版本sdk:
    • 当前终端生效(临时):sdk use java 8.0.265.hs-adpt
    • 永久生效(全局):sdk default java 8.0.202-zulu
  8. 查看当前sdk版本如:sdk current java

解决mac上运行uiautomatorviewer失败问题

curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk install java 8.0.202-zulu
sdk default java 8.0.202-zulu`

再执行uiautomatorviewer命令,则能正常启动ui automator viewer

注意点

来看下~/.bash_profile

vim ~/.bash_profile

通过其他方式安装的java环境并不影响sdkman对java的管理,也不用删除或修改之前添加的环境变量
只要保证如下shell脚本在~/.bash_profile文件最后即可

#THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!! 
export SDKMAN_DIR="~/.sdkman"
[[ -s "~/.sdkman/bin/sdkman-init.sh" ]] && source "~/.sdkman/bin/sdkman-init.sh"