Mac High Sierra下无法启动uiautomatorviewer的技术问题咨询
解决Mac High Sierra上uiautomatorviewer无法启动的问题
我之前在Mac上也碰到过一模一样的问题,根源是Java 9及以上版本不再支持-Djava.ext.dirs这个参数,而uiautomatorviewer的默认启动脚本还在使用它,导致JVM启动失败。下面是两种可行的解决方法:
方法一:修改uiautomatorviewer启动脚本
这是最直接的修复方式,步骤如下:
- 找到你的uiautomatorviewer脚本路径,就是日志里的:
/Users/ranjith/Library/Android/sdk/tools_mac/tools/uiautomatorviewer,用任意文本编辑器(比如TextEdit、VS Code)打开它。 - 在脚本中搜索包含
-Djava.ext.dirs的代码块,通常会是这样的:java_ext_dirs="$frameworkdir:$swtpath" JAVA_OPTS="-Djava.ext.dirs=$java_ext_dirs $JAVA_OPTS" - 将
-Djava.ext.dirs替换为-classpath,修改后代码变成:java_ext_dirs="$frameworkdir:$swtpath" JAVA_OPTS="-classpath $java_ext_dirs $JAVA_OPTS" - 保存修改后的脚本,然后在终端重新运行
uiautomatorviewer,应该就能正常启动了。
方法二:切换到Java 8版本
如果不想修改脚本,也可以临时切换到Java 8(它仍然支持-Djava.ext.dirs参数):
- 先通过
java -version命令检查当前Java版本,确认是9及以上版本才需要切换。 - 找到你本地Java 8的安装路径(通常是
/Library/Java/JavaVirtualMachines/jdk1.8.xxx.jdk/Contents/Home),然后在终端执行:export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.xxx.jdk/Contents/Home - 接着再运行
uiautomatorviewer,就能正常打开了。
内容的提问来源于stack exchange,提问作者Ranjith Kumar Akuthota
相关产品推荐
相关产品推荐

