一、安装
1)JDK:注意⚠️ jdk10以上不兼容,jdk8下载 链接🔗
2)SDK:https://www.androiddevtools.cn/ 链接🔗(sdk中自带monkeyrunner)
3)Python:mac电脑自带2.7,可无需下载
二、环境配置
# JDK
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home
PATH=$JAVA_HOME/bin:$PATH:.
CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
export JAVA_HOME
export PATH
export CLASSPATH
-> 验证安装是否成功:java -version
# SDK
export ANDROID_HOME=/Users/用户/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/platform-tools
-> 验证安装是否成功:adb -version
# MONKEYRUNNER
export PATH=${PATH}:/Users/用户/Downloads/adt-bundle-mac-x86_64-20140702/sdk/tools/:/Users/用户/Downloads/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/
-> 验证安装是否成功:monkeyrunner
三、基本操作
1、启动monkeyrunner
- monkeyrunner
2、导入monkeyrunner所要使用的模块
- from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice
3、模拟器连接 / 测试机连接
-
device=MonkeyRunner.waitForConnection(6,‘emulator-5554’)
-
参数1:超时时间,单位秒,浮点数,默认是无限期地等待;
-
参数2:指定的设备名称device_id,默认为当前设备(手机优先,其次为模拟器)
[问题记录1] 遇到无法连接网易mumu模拟器(7555):
问题:
解决:db kill-server && adb server && adb shell
4、app安装
- device.installPackage(‘/Users/xx/Desktop/xx.apk’)
5、app启动
- 前提:adb logcat | grep START命令,获取package和activity
- device.startActivity(component=“com.xx.xx.xx/com.xx.xx.xx.xx.FirstActivity”)
四、运行python脚本
命令:monkeyrunner xx.py
# -*-coding:utf-8-*-
# 导包
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
# 连接模拟器/连接测试机
device = MonkeyRunner.waitForConnection(6,'emulator-5554')
# 安装apk
device.installPackage('/Users/xx/Desktop/xx.apk')
# 启动app
device.startActivity(component="com.xx.xx.xx/com.xx.xx.xx.xx.FirstActivity")
[问题记录2] 运行没有问题的python脚本,却没有无响应:
解决:查看是否运行多个窗口,仅需要一个窗口运行