无法启动uiautomatorviewer.bat求助:指定64 bit JVM仍报错
解决同时安装32/64位JVM时uiautomatorviewer无法启动的问题
我之前也碰到过一模一样的情况,明明已经设置了用64位JVM,但uiautomatorviewer就是死活启动不了,折腾了好几个方法才搞定,给你分享几个实用的排查步骤:
确认环境变量的优先级
打开命令提示符(cmd),输入echo %JAVA_HOME%,看看输出的路径是不是指向64位JDK(通常64位JDK安装在C:\Program Files\Java目录下,32位则在C:\Program Files (x86)\Java)。如果路径不对,手动修改系统环境变量:- 把
JAVA_HOME设置为64位JDK的根目录 - 将
%JAVA_HOME%\bin移动到Path变量的最前端,避免被其他32位JVM的路径覆盖
修改完后重启cmd,再次验证java -version,确保显示的是64位版本(输出里会有64-Bit字样)
- 把
检查uiautomatorviewer.bat的脚本配置
找到Android SDK目录下的tools/bin/uiautomatorviewer.bat,用记事本打开它,检查里面有没有硬编码的JVM路径配置。如果看到类似set JAVA_HOME=xxx的行,要么把它改成你的64位JDK路径,要么直接删除这一行,让脚本优先使用系统环境变量里的JAVA_HOME。直接用64位Java启动jar包
绕开bat脚本的可能问题,直接用64位JVM的java.exe来启动uiautomatorviewer的jar包:- 打开cmd,cd到
tools/bin目录 - 执行命令:
"C:\Program Files\Java\jdk1.8.0_xxx\bin\java.exe" -jar uiautomatorviewer.jar(把路径替换成你实际的64位JDK的java.exe路径)
- 打开cmd,cd到
验证SDK与JDK版本兼容性
uiautomatorviewer对JDK版本比较挑剔,尤其是新版JDK(比如11+)可能会出现兼容性问题。建议切换到64位的JDK 8,这个版本和大部分Android SDK tools版本适配性最好,很多时候换个JDK版本就能解决问题。
内容的提问来源于stack exchange,提问作者VISHVAMBRUTH J T




