码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【记录安装】Mac电脑,安装monkeyrunner,及其遇到的相应问题


    一、安装

    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
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    三、基本操作

    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")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    [问题记录2] 运行没有问题的python脚本,却没有无响应:

    解决:查看是否运行多个窗口,仅需要一个窗口运行

  • 相关阅读:
    oracle:记一次磁盘头故障处理
    LiveCharts.Wpf 的使用
    react源码中的协调与调度
    用户体验成为继MAU后,手机银行竞争分化的下一分水岭,易观千帆重磅发布手机银行APP用户体验GX评测
    Word处理控件Aspose.Words功能演示:使用 Python 在 Word 文档中创建表格
    @SpringBootApplication配置了scanBasePackages导致请求一直404,分析下原因
    【详识JAVA语言】面向对象程序三大特性之一:封装
    Promise 解决阻塞式同步,将异步变为同步
    深入探讨I/O模型:Java中的阻塞和非阻塞和其他高级IO应用
    J9数字论:最近爆火的Web3.0到底是什么?
  • 原文地址:https://blog.csdn.net/qq_41286373/article/details/127566268
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号