如何正确配置Java路径与系统变量启动Monkeyrunner?求助排障
Monkeyrunner 启动分步指南(解决Java/SWT/Jar参数错误)
一、前置环境确认与配置
1. 正确设置Java环境
Monkeyrunner 不兼容过高版本的JDK(如JDK19),推荐使用Android Studio自带的JDK11(即你最初的C:\Program Files\Android\Android Studio\jre\):
- 系统变量
JAVA_HOME设置为C:\Program Files\Android\Android Studio\jre\ - 将
%JAVA_HOME%\bin添加到系统PATH变量的最前端,确保优先使用该版本Java - 验证:打开命令行输入
java -version,应显示OpenJDK 11.0.13版本信息
2. 配置ANDROID_SWT环境变量
根据你的系统架构(x64对应x86_64,x86对应x86),设置ANDROID_SWT为SDK tools/lib下对应路径:
- 变量名:
ANDROID_SWT - 变量值:
C:\Users\UserName\AppData\Local\Android\Sdk\tools\lib\x86_64\(注意末尾保留反斜杠)
二、修复monkeyrunner.bat参数错误
你遇到的-Djava.ext.dirs不支持问题,是因为高版本Java已废弃该参数,需修改bat文件:
- 找到monkeyrunner.bat的位置(通常在
C:\Users\UserName\AppData\Local\Android\Sdk\tools\bin\) - 用记事本打开该文件,找到以下类似行:
call "%JAVA%\bin\java.exe" -Djava.ext.dirs="%JAVA_EXT_DIRS%" %MONKEYRUNNER_OPTS% -jar "%MONKEYRUNNER_JAR%" %*
- 将其替换为:
set CLASSPATH=%ANDROID_SWT%;%~dp0\..\lib\monkeyrunner-26.0.0-dev.jar;%~dp0\..\framework\android.jar;%~dp0\..\lib\guava.jar;%~dp0\..\lib\commons-io.jar call "%JAVA%\bin\java.exe" %MONKEYRUNNER_OPTS% com.android.monkeyrunner.MonkeyRunner %*
注意:替换时需确保
monkeyrunner-26.0.0-dev.jar的版本与你SDK中实际存在的jar包版本一致,若版本不同请自行修改文件名
三、验证启动
- 打开新的命令提示符窗口(确保环境变量生效)
- 进入SDK tools/bin目录:
cd C:\Users\UserName\AppData\Local\Android\Sdk\tools\bin
- 运行
monkeyrunner.bat,若成功进入Monkeyrunner交互界面,说明配置正确
四、发送输入事件示例
创建一个test_input.py脚本,内容如下:
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice # 连接设备(确保设备已通过USB调试连接) device = MonkeyRunner.waitForConnection() # 发送点击事件(坐标x=500, y=500) device.touch(500, 500, MonkeyDevice.DOWN_AND_UP) # 发送文本输入 device.type("Hello Monkeyrunner") # 发送返回键事件 device.press("KEYCODE_BACK", MonkeyDevice.DOWN_AND_UP)
运行脚本:
monkeyrunner.bat test_input.py
内容的提问来源于stack exchange,提问作者user13267
相关产品推荐
相关产品推荐

