官方文档:
The monkeyrunner tool provides an API for writing programs that control an Android device or emulator from outside of Android code.
是Android SDK中自带的工具,用来控制Android设备或模拟器
1. 安装java
一般装jdk,安装成功后,需要添加环境变量,计算机→属性→高级系统设置→高级→环境变量,新建
JAVA_HOME:jdk安装目录;Path编辑,增加%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;(后者可以不用添加);新建CLASSPATH,变量.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
配置完毕
检测: java -version
2. 安装android sdk
下载:http://www.androiddevtools.cn/
解压,打开SDK Manager.exe,勾选需要安装的packages后Install
添加环境变量
新建ANDROID_SDK_HOME:sdk解压的目录
Path编辑:%ANDROID_SDK_HOME%\platform-tools;%ANDROID_SDK_HOME%\tools添加
检测: adb version
3. 安装Python
环境变量 Path编辑:python安装目录添加
检测: python
以上完成后,cmd中输入monkeyrunner 检测是否成功
4. 使用Monkeyrunner
首先需要创建一个模拟器,创建方法有很多种,可自行创建
1>. Android Studio安装
因为已经创建过了,可能按钮位置不太一样,但流程相同 create Virtual Device
没有的话需要联网下载,然后点击Next到完成。下载速率较慢,安装也很慢,要耐心等会
点击Launch按钮,该模拟器就会启动,或者真机连接数据线到电脑。
2>. 根据安装的SDK创建
双击 AVD Manager.exe,点击Create,
点击start或者cmd中运行emulator -avd Nexus_6_5.0.1(avd Name)启动模拟器
"android list target”查看可用的Android系统信息
android list avd:查看创建的avd信息
android delete avd -n <模拟器Name>:删除模拟器
android -h:查看Android命令
adb -e shell cat /proc/meminfo:查看模拟器内存大小
"ps aux | grep emulator":列出模拟器进程,如果关不掉,可用"kill -9 <进程ID>"kill模拟器进程
4. monkeyrunner
cmd输入命令monkeyrunner,导入monkeyrunner需要的模块,
from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice
device=MonkeyRunner.waitForConnection()
其中,device=MonkeyRunner.waitForConnection(6,’emulator-5554′)
参数1:超时时间,单位秒,浮点数,默认是无限期地等待。
参数2:指定的设备名称device_id,默认为当前设备(手机优先,其次为模拟器)
device.installPackage('D:\\QtecSafeMail-debug.apk') #安装app
device.startActivity(component="package名/.activity")#启动app
如何获取一个app的package名和activity?使用aapt,其中aapt是sdk自带的一个工具,在sdk\builds-tools\目录下:
在该目录下运行cmd,然后执行 aapt dump badging D:\\QtecSafeMail-debug.apk (目录中不能有空格)
如果不好找,可以通过cmd重定向方法到一个result.txt中 aapt dump badging D:\\QtecSafeMail-debug.apk >> result.txt 2>&1
由上图可知: package名: com.qtec.safemail2
activity : .activities.LaunchActivity
device.startActivity(component="com.qtec.safemail2/.ui.activities.LaunchActivity") #启动app(这个是从.ui开始的....如果发现没有启动,要多试一下)
可以把内容写到一个python脚本中,然后在cmd中运行 monkeyrunner xx.py执行
以上是最简单的monkeyrunner入门学习。