monkeyrunner脚本使用Python语法编写,但它实际上是通过Jython来解释执行。 Jython是Python的Java实现,它将Python代码解释成Java虚拟机上的字节码并执行,这种做法允许在Python中继承一个Java类型,可以调用任意的 Java API 。
本文档主要是可以实现在eclipse环境中运行Monkeyrunner脚本。所需要的环境和工具如下:win7 os、jdk、eclipse、sdk、python、jython、模拟器或真机设备。
在前两章中,我们分别进行了eclipse中的Android开发环境的配置,Monkeyrunner的环境搭建。上述工具基本都已经具备,其中,jython在sdk\tools\lib中。因此,本文档中,我们只需要将Monkeyrunner和python集成到eclipse中,这样,以后我们就可以在eclipse中对Monkeyrunner脚本进行调试和运行。
1.PyDev插件安装
在Install页面,点击Add按钮,进入Add Repository页面。
在Add Repository页面,输入你要获取插件的名字和地址,其中地址一定要输入正确。由于我们要获取PyDev,所以这里输入名字为PyDev,地址为PyDev的下载地址:
https://dl.bintray.com/fabioz/pydev/5.1.2/
点击OK按钮后,进入PyDev的加载页面:
PyDev加载成功后,选择PyDev进行下载。
之后,按照页面上的提示,下一步,最后finish完成下载安装。
2.Jython开发环境配置
Window-preferences-PyDev-Python Interpreter中,New一个python解释器,路径选择你的python.exe,点击OK。
按照页面提示,加载完成后,下面开始jython环境的配置。
Window-preferences-PyDev-Jython Interpreter中,New一个Jython,路径选择sdk\tools\ jython-standalone-2.5.3.jar,点击OK。
如果加载结果如下:
则将python中整个Lib文件拷贝到sdk中jython-standalone-2.5.3.jar所在目录tools\lib,再次New一个Jython,添加jython-standalone-2.5.3.jar路径即可。或者直接选择Proceed anyways。
加载完成后,点击Apply-OK,即完成Jython的环境配置。
3.Monkeyrunner开发环境配置
现在为止我们已经配置好了Jython的开发环境了,我们已经可以创建一个Jython的项目了。但是我们还没有完成Monkeyrunner的配置,所以现在的Jython项目还不能很方便的开发Monkeyrunner。
其实搭建Monkeyrunner开发环境就是把我们需要的包加入到Jython的PYTHONPATH里面,方便我们直接引用。
在window-preference-PyDev-Jython Interpreter中,点击右边的"New Jar/Zips"按钮,开始选择你的SDK下面的\tools\lib下面你需要用到的Jar包。下面是我们这次所需要的Jar包:hierarchyviewer2.jar、hierarchyviewer2lib.jar、monkeyrunner.jar、chimpchat.jar,将这些Jar包依次加入即可。
最后加载成功的页面如下:
到此为止,Monkeyrunner的环境配置已完成。
4.Jython项目创建
环境搭建完成后,我们可以新建Jython项目了。下面我们创建一个Jython项目。
在File中,New一个Project,并选择PyDev Project。
根据需求,填写项目名称,并选择项目的类型为Jython,点击Finish。
项目新建完成后,单击选中项目,右键,New一个PyDev Module,新建完成后,就可以写python程序了。
现在,我们把Monkeyrunner中写的脚本,直接拷贝到eclipse中,新建的PyDev Module中,包括导包、连接设备、安装app、启动app:
from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice
device=MonkeyRunner.waitForConnection()
device.installPackage('F:\\QQ_374.apk')
device.startActivity(component="com.tencent.mobileqq/.activity.SplashActivity")
实际上执行这段代码,需要Android提供的monkeyrunner.bat,所以不能像平常运行程序一样,因此接下来要配置eclipse中Monkeyrunner脚本的运行。
5.Eclipse中运行Monkeyrunner脚本
菜单栏中选择Run-External Tools-External Tools Configurations,
添加相关配置信息,如下图:
注:以上配置只针对test02.py,如果有新的PyDev Package,要同时更改Working Directory和Arguments的配置。
模拟器启动后,接下来就可以运行刚才新建的PyDev Module了。
在模拟器上,我们可以看到app的自动安装和启动。这说明环境已经配置成功,之后就可以在eclipse中编辑monkeyrunner脚本,并运行。
6.eclipse中运行monkeyrunner脚本,问题及解决方法
eclipse中运行moneyrunner脚本,报错:您的主机中的软件中止了一个已建立的连接
解决方法:
1.杀死进程adb.exe,
1)查看adb.exe进程号xxx:tasklist | findstr adb.exe
2)杀掉该进程:taskkill /f /t /im xxx
2.然后重启eclipse,
3.打开adb.exe,连接设备
1)打开cmd
2)连接模拟器:adb connect ip