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/(原始地址: http://pydev.org/updates

点击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

monkeyrunner之eclipse中运行monkeyrunner脚本之环境搭建(四)的更多相关文章

  1. 转载:monkeyrunner之eclipse中运行monkeyrunner脚本之环境搭建(四)

    转载自:lynnLi 的monkeyrunner之eclipse中运行monkeyrunner脚本之环境搭建(四) monkeyrunner脚本使用Python语法编写,但它实际上是通过Jython来 ...

  2. 解决:在Eclipse中运行monkeyrunner脚本报错: IOError: (2, 'File not found - D:\\workspace\\monkeyrunner_test01 (\u62d2\u7edd\u8bbf\u95ee\u3002)')

    在eclipse中搭建运行monkeyrunner脚本的环境,请见lynnLi的博客monkeyrunner之eclipse中运行monkeyrunner脚本之环境搭建(四) 但在实践中,状况确实层出 ...

  3. eclipse中运行python脚本中有注释为中文的内容,报错:SyntaxError: Non-ASCII character '\xe5'

    '''Created on 2015年7月2日 @author: liujuan'''import sysreload(sys) 以上为注释的有个日期中文的,结果运行报错:SyntaxError: N ...

  4. Nodejs学习笔记(二)——Eclipse中运行调试Nodejs

    前篇<Nodejs学习笔记(一)——初识Nodejs>主要介绍了在搭建node环境过程中遇到的小问题以及搭建Eclipse开发Node环境的前提步骤.本篇主要介绍如何在Eclipse中运行 ...

  5. 在eclipse中运行storm-starter

    开源软件官网提供的demo无疑是学习开源软件的最好的最原始的样例. 在Storm官网里下载apache-storm-0.9.6.zip,里面\examples\storm-starter\src\jv ...

  6. eclipse中运行出错:无法初始化主类的解决办法

    问题描述:eclipse中运行程序时,出现如下错误 解决办法: 出现此类:无法初始化主类有可能是因为eclipse中Java的版本与JDK的版本不匹配,我开始用的时候eclipse中用的是Java s ...

  7. Linux中运行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory。

    在Linux中运行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory. 分析:这是不同系统编码格式引起的:在windows系统中 ...

  8. 在Eclipse中运行Web项目Jsp网页时提示端口被占用的解决办法:Several ports (8005, 8888, 8009) required by Tomcat v9.0 Server at localhost are already in use.

    问题: 在Eclipse中运行Web项目Jsp网页启动Tomcat时提示端口被占用: Several ports (8005, 8080, 8009) required by Tomcat v9.0 ...

  9. 在Eclipse中运行JAVA代码远程操作HBase的示例

    在Eclipse中运行JAVA代码远程操作HBase的示例 分类: 大数据 2014-03-04 13:47 3762人阅读 评论(2) 收藏 举报 下面是一个在Windows的Eclipse中通过J ...

随机推荐

  1. js的动态加载、缓存、更新以及复用(二)

    上一篇发出来后得到了很多回复,在此首先感谢大家的热情捧场!有的推荐第三方框架,比如 In.js.requrieJS.sea.js.lab.js等.这个开阔了眼界,以前只知道sea.js,省去了自己搜索 ...

  2. mysql在Windows下使用mysqldump命令备份数据库

    在cmd窗口中使用mysqldump命令首先需要配置环境变量 1,在计算机中找到MySQL的安装位置,找到MySQL Workbench,比如我的是C:\Program Files\MySQL\MyS ...

  3. sizzle源码分析 (2)ID 类 tag querySelectorAll 快速匹配

    不是所有的选择器都需要去分词,生成相应的匹配函数,这样流程比较复杂,当浏览器具备原生的方法去匹配元素是,没有理由不优先匹配,下面看看进入Sizzle后,它是怎么优先匹配这些元素的: function ...

  4. 百度的echart环形图颜色动态设置

    自己参与的有一个项目需要用到环行图,考虑到百度的echart功能很强大兼容性又挺好就使用了这个插件,但是在颜色配置的时候出现了问题按照参考文档的方法是用color:Array这样的形式,但是不知道在哪 ...

  5. 【原】iOS动态性(二):运行时runtime初探(强制获取并修改私有变量,强制增加及修改私有方法等)

    OC是运行时语言,只有在程序运行时,才会去确定对象的类型,并调用类与对象相应的方法.利用runtime机制让我们可以在程序运行时动态修改类.对象中的所有属性.方法,就算是私有方法以及私有属性都是可以动 ...

  6. Hadoop 2.5.1编译

    1.环境安装 gcc.gcc-c++.make.cmake.svn yum install lzo-devel zlib-devel gcc gcc-c++ make cmake autoconf a ...

  7. [GitHub] GitHub使用教程for Eclipse

    1.下载egit插件 打开Eclipse,git需要eclipse授权,通过网页是无法下载egit的安装包的.在菜单栏依次打开eclipse→help→install new software→add ...

  8. Android提交数据到JavaWeb服务器实现登录

    之前学习Android提交数据到php服务器没有成功,在看了两三个星期的视频之后,现在终于实现了与服务器的交互.虽然完成的不是PHP端的,但是在这个过程还是学到了不少东西的.现在我先来展示一下我的成果 ...

  9. JavaSE 和 JavaEE 的关系

    1.javaSe看成是java基础   (Standard Edition(标准版) ) 2.J2EE看成是应用            (Enterprise Edition(企业版)) 3.java ...

  10. HTML5 初步了解

    这是HTM5L的第一篇博客. 那么就让我们简单的了解HTML5的语法吧. (HTML5运行环境要求极低,非关键地方就不做截图了) <!--根标签--> <html> <! ...