因近期开始测试app,然后需要用到monkey,所以就着手搭建所需环境
一、基础文件准备(windows环境下)
1、SDK下载
2、JDK下载
ps:因为暂时只准备用adb 以及monkey 所以没有安装Android Studio(上述的两个包文件请移步google)
二、验证adb是否可用
windows-dos窗口-cmd命令:输入 adb 会看到下列参数的说明,则证明adb配置成功
三、设置
1、开启手机USB调试
2、电脑中已经成功安装手机驱动
四:运行Monkey
1、在dos窗口中,输入adb shell monkey -p 包名 其他参数
五:问题(本文重点)
1、在执行adb shell时 提示demo启动失败,端口被占用,如图所示
解决方法,找到对应的进程,kill掉进程,但是该服务自动重启,此方法无效,最后通过设备管理-服务,找到对应的服务,将自动启动修改为手动启动,在执行adb shell,提示demo启动成功(缺点,我要用此服务的时候 还要手动启动服务)
2、解决端口被占用问题后,执行adb devices,提示设备列表为空
解决方法:
1、检查手机是否开启usb调试
2、若开启则需要检查电脑上是否成功安装手机驱动,若未成功安装手机驱动,则安装个应用宝一类的软件,即可安装手机驱动
3、解决设备连接问题后, 执行adb shell monkey 放可完成预期结果
例如:adb shell monkey -p 包名 --throttle 100 -s 100 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes --monitor-native-crashes -v -v -v 100000>C:\Monkey_report.txt
查看端口被那个进程占用:
解决方法一:(亲测可以,我只是停掉了对应的服务,占用服务的进程kill不掉)
1、CMD命令窗口输入:adb nodaemon server 。提示被占用的端口
2、输入netstat -ano | findstr "5037" 。提示哪些进程占用了该端口,记住非0地址的后面的数字
3、打开任务管理器,点击“进程“,“查看”-“选择列”,勾选PID
命令操作:
查找:tasklist|findstr“xxxx”
停止:taskkill /f /t /im 你的进程名</f /t /im 三者之间有空格>
4、查找第2步中看到的数字PID,然后结束相关进程,即可
解决方法二:(还验证该方法,只是刚好看到,记录此处)
1、自己配置 adb server 端口,使用一个生僻的值,在系统环境变量中定义ANDROID_ADB_SERVER_PORT 的值即可。
2、端口号(10000 ~ 65535),不易重复。
3、win下只要在环境变量中增加一个ANDROID_ADB_SERVER_PORT ,值填你自己定义的端口。
4、Linux下只要 export $ANDROID_ADB_SERVER_PORT = 自定义端口。
5、adb devices 显示连接设备即可
PS:如果修改后,仍旧不可以,请重启电脑后,在查看下结果