Ubuntu系统无法启动uiautomatorviewer问题求助
解决Ubuntu 16启动uiautomatorviewer时的Java虚拟机创建失败问题
我之前也碰到过一模一样的问题,折腾了好一会儿才搞定——本质是新版Java废弃了-Djava.ext.dirs参数,而uiautomatorviewer的默认脚本还在沿用它。给你几个靠谱的解决办法:
方法一:修改uiautomatorviewer启动脚本(最推荐)
这是一劳永逸的方案,直接改掉脚本里的错误参数:
- 打开终端,进入脚本所在目录:
cd ~/Android/Sdk/tools/bin - 用文本编辑器打开uiautomatorviewer脚本,比如用vim:
vim uiautomatorviewer - 找到类似这样的行(大概在脚本开头部分):
DEFAULT_JVM_OPTS='"-Djava.ext.dirs=$frameworkdir:$swtpath"' - 把它替换成使用
-classpath的参数:DEFAULT_JVM_OPTS='"-classpath $frameworkdir/*:$swtpath/*"' - 保存退出(vim里按
Esc,输入:wq回车),然后重新运行:./uiautomatorviewer
方法二:检查并调整Java版本
如果最近你升级了Java到9及以上版本,就会触发这个问题——因为Java 9开始彻底移除了对-Djava.ext.dirs的支持:
- 先查看当前Java版本:
java -version - 如果版本是9+,可以选择:
- 降级到Java 8(Android工具对Java 8的兼容性最好)
- 继续使用方法一修改脚本适配高版本Java
方法三:手动用Java命令启动
如果临时想快速启动,也可以直接跳过脚本,用java命令指定classpath运行:
java -classpath ~/Android/Sdk/tools/lib/*:~/Android/Sdk/tools/lib/x86_64/* com.android.uiautomatorviewer.UiAutomatorViewer
为什么突然出现这个问题?
大概率是你最近更新了Java环境,或者Android SDK的tools组件被自动更新了,导致脚本里的旧参数和新Java版本不兼容。之前正常是因为当时的Java版本还支持-Djava.ext.dirs。
内容的提问来源于stack exchange,提问作者coder3521
相关产品推荐
相关产品推荐

