You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu系统无法启动uiautomatorviewer问题求助

解决Ubuntu 16启动uiautomatorviewer时的Java虚拟机创建失败问题

我之前也碰到过一模一样的问题,折腾了好一会儿才搞定——本质是新版Java废弃了-Djava.ext.dirs参数,而uiautomatorviewer的默认脚本还在沿用它。给你几个靠谱的解决办法:

方法一:修改uiautomatorviewer启动脚本(最推荐)

这是一劳永逸的方案,直接改掉脚本里的错误参数:

  1. 打开终端,进入脚本所在目录:
    cd ~/Android/Sdk/tools/bin
    
  2. 用文本编辑器打开uiautomatorviewer脚本,比如用vim:
    vim uiautomatorviewer
    
  3. 找到类似这样的行(大概在脚本开头部分):
    DEFAULT_JVM_OPTS='"-Djava.ext.dirs=$frameworkdir:$swtpath"'
    
  4. 把它替换成使用-classpath的参数:
    DEFAULT_JVM_OPTS='"-classpath $frameworkdir/*:$swtpath/*"'
    
  5. 保存退出(vim里按Esc,输入:wq回车),然后重新运行:
    ./uiautomatorviewer
    

方法二:检查并调整Java版本

如果最近你升级了Java到9及以上版本,就会触发这个问题——因为Java 9开始彻底移除了对-Djava.ext.dirs的支持:

  1. 先查看当前Java版本:
    java -version
    
  2. 如果版本是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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 12:21:05