Android安卓手机自动化环境的搭建

最近需要在Android安卓平台上处理一些日常的重复任务,因此尝试学习了一下Android平台的自动化框架。如果没有理解错的话,现在比较成熟的平台是Automator2,以及基于Automator2的Appium。Appium在Automator2的基础上又做了更高层的封装,提供了一些更多可视化的功能组建。本文的内容大多来自互联网,修修补补之后总算也是成功搭建好了。

前期准备

搭建基于Automator2的自动化环境需要的工具不算太多。主要是要对应好版本号:

  • Android ADB工具:如果本机安装了Android SDK,可以在Android/sdk/platform-tools找到。如果没有Android SDK,可以单独下载一个ADB组件。(建议使用Android SDK中自带的)
  • Android手机:确认安卓手机的系统版本在Android 5以上,并且打开了开发者模式,并且开启了USB
  • Python3.6以上(我使用的是Python3.7.3)
  • uiautomator2:可以直接通过pip进行安装,系统自动安装的版本是uiautomator2-2.12.0.tar.gz

配置安装

首先我们要确保安卓手机用USB和电脑连接以后,能够使用ADB工具识别到。具体来说就是运行以下命令可以显示出已连接的手机:

./adb devices

如果成功的话,已连接的手机信息会列出来,如图所示:

如果没有识别出手机的话,可能有以下原因:

  • 手机的开发者模式没有打开
  • 开发者模式打开了,但是没有打开USB调试
  • usb线有问题。本次调试过程中,我就遇到了这个问题。有的usb线有充电功能,但是没有数据传输功能。因此,也确保一下USB是可以正常使用,正常传输数据的
  • 网上其他的一些问题。我也尝试查百度,发现很多帖子(大部分都是复制粘贴的重复结果)都是要修改adb_usb.ini文件,个人感觉大部分的手机应该不会有这个问题的

为什么要用USB连接安卓手机
看了Automator2的官方文档,最新的版本应该是完全不需要使用USB连接设备了(因为adb工具本身就是支持通过IP地址连接设备的)。但是保险起见,我还是简单介绍以下。Automator2自动化框架是一个工具集合。在搭建自动化环境的过程中,Automator2会通过USB在手机上安装一系列工具,包括minicap、minitouch、atx-agent。

安装uiautomator2
这个没啥好说的,简单运行以下命令直接完成。

pip3 install uiautomator2

安卓自动化环境初始化

目前最新版本的uiautomator2是不需要这一步的。但是为了保险起见(也可以作为验证是否安装成功的步骤),执行以下命令:

python3 -m uiautomator2 init

以上命令默认会把需要的组件minicap、minitouch、atx-agent都安装到已连接的安卓设备中。

总结

到目前为止,我们已经成功的搭建了一个一套安卓自动化环境。可以根据Automator2文档中提供的示例代码尝试做一些自动化工作。有一点大家需要注意,这种通用的自动化框架很容易导致被系统性封号。这种方案使用了大量的通用组件,例如atx-agent,都是很容易被监测到的东西。因此尽量不要使用这种方案做一些诸如微信自动化管理的工作,切记。

Captain QR Code

扫码联系船长

发表回复

您的电子邮箱地址不会被公开。