uiautomatorviewer运行异常:SWT文件夹不存在报错,已尝试方案仍无效求助
解决uiautomatorviewer SWT文件夹不存在的进阶方案
兄弟,我太懂你这种被uiautomatorviewer的SWT路径问题卡得头疼的感觉了——毕竟这工具有时候就是爱搞这种莫名其妙的检测bug。既然常规方案都不管用,咱们来试试几个更硬核的解决步骤:
先精准定位真正的SWT文件位置
别信报错里给的模糊路径,自己手动找:- 打开你的Android SDK安装目录,优先找
tools/lib/x86_64(64位系统)或者tools/lib/x86(32位系统),这里面肯定有swt.jar和配套的dll/so库文件,这才是正确的SWT文件夹。 - 如果是Android Studio配套的新版SDK,路径可能变了,去
cmdline-tools/latest/lib或者platform-tools周边目录找找,有些版本会把SWT文件挪到这些地方。
- 打开你的Android SDK安装目录,优先找
手动强制设置ANDROID_SWT环境变量
别依赖工具的自动检测,直接硬指定路径:- Windows系统:
- 右键「此电脑」→ 属性 → 高级系统设置 → 环境变量
- 新建系统变量,变量名填
ANDROID_SWT,变量值就是你刚才找到的SWT文件夹绝对路径(比如D:\Android\Sdk\tools\lib\x86_64) - 重启命令提示符/PowerShell,再运行
uiautomatorviewer.bat
- Linux/macOS系统:
在终端里临时设置(要永久生效就加到~/.bashrc或~/.zshrc里):
之后直接运行export ANDROID_SWT=/your/android/sdk/path/tools/lib/x86_64uiautomatorviewer就行
- Windows系统:
检查Java与SWT的版本兼容性
这是很多人忽略的关键:SWT和Java版本必须匹配!- 如果你用的是Java 11+,但Android SDK里的SWT是针对Java 8编译的,必然会出问题。要么降级Java到8,要么去Eclipse官方渠道下载对应你Java版本和系统架构的SWT包,解压后把里面的jar和库文件替换掉Android SDK里对应目录的SWT文件。
直接修改启动脚本硬编码路径
要是环境变量还是不好使,直接改脚本:- Windows:找到Android SDK tools目录下的
uiautomatorviewer.bat,打开后找到类似set ANDROID_SWT=...的行,替换成你的SWT文件夹绝对路径:set ANDROID_SWT=D:\Android\Sdk\tools\lib\x86_64 - Linux/macOS:找到
uiautomatorviewer脚本,定位到设置ANDROID_SWT的部分,替换成你的路径:ANDROID_SWT="/your/android/sdk/path/tools/lib/x86_64"
- Windows:找到Android SDK tools目录下的
终极替代方案:换用Layout Inspector
如果以上都搞不定,其实没必要死磕这个老工具——Android Studio自带的Layout Inspector功能完全能替代uiautomatorviewer,而且更稳定、支持新系统版本。直接打开Android Studio,点击Tools > Layout Inspector就能用,省心多了。
内容的提问来源于stack exchange,提问作者Joe
相关产品推荐
相关产品推荐

