本文介绍下,mac 电脑连接安卓手机的流程,为 python 自动化工具做准备。
前置知识:
homebrew 安装 2022 我用 MacBook Pro 整一年 【感想 与 踩坑指南】。
python 环境安装:Python 入门系列文章 - 环境搭建
ADB是Android Debug Bridge的缩写,是一个命令行工具,允许开发者与Android设备或模拟器进行通信。ADB是Android SDK(软件开发工具包)的一部分,用于各种任务,例如安装和调试应用程序,在计算机和Android设备之间传输文件以及访问设备的shell以运行命令。
一些常见的ADB命令包括:
请注意,要使用 ADB,需要在计算机上安装 Android SDK 并在 Android 设备上启用USB调试。 官方文档
mac 电脑建议使用 homebrew 安装 SDK:
brew install android-platform-tools
adb kill-server adb devices // daemon not running; starting now at tcp:5037 // daemon started successfully
devices 指令执行后发现并没有出现设备列表,这是因为我们没有打开手机的开发者选项,所以adb 无法获取到设备信息。
安卓手机连接电脑,需要先开启手机的 usb 调试功能,以 小米手机为例:
打开设置 => 我的设备 => 全部参数 => MIUI版本(连续点击触发开发者模式),然后回到设置 => 更多设置 => 开发者选项 => usb 调试 => usb 安装(允许通过usb安装应用) => usb 调试(安全设置)(允许通过 usb 调试修改权限或模拟点击)
设置完成后,先 adb kill-server
, 然后重新 adb devices
执行后发现,出现了
// daemon not running; starting now at tcp:5037 // daemon started successfully // List of devices attached // FYHU89PRAMHYMZJZ device
FYHU89PRAMHYMZJZ
就是当前设备的编号,需要记录下来,出现这个就说明连接成功了,后面 python 控制手机的一系列操作都需要用到。
atx-agent是一个用于自动化测试和控制Android设备的开源工具。它基于Python编写,可以在Windows、Linux和macOS等多个操作系统上运行。
atx-agent 提供了许多功能,包括:
atx-agent 的优点是易于使用,具有灵活性和可扩展性。它还提供了完整的 Python API,可以方便地集成到现有的自动化测试框架中。
官方介绍了它的设计初衷:
这个项目的主要目的是为了屏蔽不同安卓机器的差异,然后开放出统一的HTTP接口供 openatx/uiautomator2使用。项目最终会发布成一个二进制程序,运行在Android系统的后台。 这个项目是如何屏蔽不同机器的差异的呢?举个例子来说,截图这个操作,大概需要3次判断才行。
- 先判断minicap是否安装可用,然后minicap截图。毕竟minicap截图速度最快
- 使用uiautomator2提供的接口截图。(模拟器除外)
- 使用screencap截图,然后根据屏幕的旋转调整旋转方向。(一般只有模拟器用这种方式截图)
正是Android手机不同的表现形式,才导致了需要这么多的判断。而atx-agent就是为了将这些操作帮你处理了。然后提供统一的HTTP接口(GET /screenshot)供你使用。 更多
python -m uiautomator2 init
从 官方 下载二进制包,解压后看到有 atx-agent
文件,然后在此目录打开终端,执行下面指令:
(建议下载 linux_armv7.tar.gz
结尾的,因为目前的手机以 linux-arm 架构居多);
$ adb push atx-agent /data/local/tmp $ adb shell chmod 755 /data/local/tmp/atx-agent # launch atx-agent in daemon mode $ adb shell /data/local/tmp/atx-agent server -d # stop already running atx-agent and start daemon $ adb shell /data/local/tmp/atx-agent server -d --stop
安装过程中可能会有几次弹窗授权,点允许,完成后,ATX 应用就安装到当前设备了。
其实也可以用安卓模拟器来操作,不过我 m1 的电脑暂时没找到合适的模拟器;
python + 安卓手机,很适合做一些自动化工具,后续会更新相关文章,感兴趣的欢迎关注。
Copyright © 2023 leiyu.cn. All Rights Reserved. 磊宇云计算 版权所有 许可证编号:B1-20233142/B2-20230630 山东磊宇云计算有限公司 鲁ICP备2020045424号
磊宇云计算致力于以最 “绿色节能” 的方式,让每一位上云的客户成为全球绿色节能和降低碳排放的贡献者