Android手机要想脱离PC直接运行UIAutomator2,就需要在Android上配置Python运行环境,选择主要有以下几个。

QPython

pydroid3

Termux

首先,网上的几篇关于在Android上安装QPython运行UIAutomator的教程走不通,site-packages下的文件倒是可以正常push过去,但是启动脚本时报错 can not import '_imaging',这是Pillow7.1.2的问题,Python版本是Python 3.6/3.7/3.8,多番尝试无果。放弃之。

pydroind3也尝试了,报同样的错误,通过它自带的pip来安装uiautomator2也失败,各种库缺失而且没法装,也放弃。

原因在于不管是QPython还是pydroid3,对Python的支持都不足,某些依赖包死活装不上。

最后尝试Termux。

首先搜索下载Termux,并通过abd install或别的途径装到手机上去。

启动Termux,安装python

# 更新资源

pkg update

pkg upgrade

# 安装python

pkg install python

如果下载较慢,多是因为国内网络的问题,自行搜索解决。

安装完之后,执行python进入Python解释器,可以看到Python版本。

接下来,直接安装UIAutoMator2,但是会报错,根据提示安装所需的库

apt install libxml libxslt

安装完之后继续,还是会报错,问题还是出在pillow上,the header or library files could not found for jpeg,需要安装jpeg库,可用的只有libjpeg-turbo,其它的仓库里没有。

apt install libjpeg-turbo

安装完之后再重新执行

pip install --upgrade --pre uiautomator2

这次就没问题了。

如果要脱离电脑运行,需要先在电脑上初始化uiautomator2,手机连上电脑,在电脑上执行

python -m uiautomator2 init

由于atx-agent被push到了/data/local/tmp/atx-agent,因为Termux访问不了这个文件,所以之后每次重启手机时都要在电脑来启动它

# adb shell /data/local/tmp/atx-agent version #查看版本号

adb shell /data/local/tmp/atx-agent server -d #启动并后台运行

或者,把atx-agent移动到Termux能访问到的地方,比如$HOME下,再给它加上755权限,在手机上是不是就能启动它了?想想就激动啊!

答案是:不行!

通过adb启动,atx-agent获得的是root权限,可以唤起APP而无需鉴权,如果在Termux启动,相当于在一个子系统里启动,它获得的权限等同于Termux的普通APP权限,是不能随便操作其它APP的。

这么说的话其实也并没有完全脱离电脑,只是初始化完成后再在手机里运行就不需要电脑了。

接下来就是执行我们的脚本了。

把脚本通过一定的方式存储到手机里,假定命名为myscript.py,执行

python myscript.py

有一点需要注意,通过PC连接设备时,直接使用d = u2.connect()即可,但在手机里运行时会报错没有adb exe,这是因为这种连接方式是默认的usb连接,需要adb,改成如下格式

d = u2.connect("127.0.0.1:7912")

就可以正常运行了。

点击量:

510

python脱离pc自动化_Android手机脱离电脑直接运行UIAutomator2相关推荐

  1. 手机上怎么打开python文件_如何使用一行Python命令来实现让手机读取电脑文件!...

    本文讲解python的一个内置文件传输下载器,可以用来在局域网内进行文件传输,当然可能有人会问,我用微信QQ也能传,为什么还要用python来传输下载?在此,其实我个人感觉的是,这种操作更简单,省了时 ...

  2. hdbinterface是什么_Android 手机插入电脑后提示“”ADB Interface安装失败的问题

    安装ADB Interface 1. Android Studio开发时,如果在真机上测试并不是那么的顺利.直接将手机插入电脑,并不能识别.往往提示ADB Interface驱动未安装.如下图所示. ...

  3. python脱离pc自动化_我用几行 Python 自动化脚本完美解决掉了小姐姐的微信焦虑感...

    转载自:AirPython 1. 场景 前几天,有一个小姐姐私聊我,说她每次打开微信,界面上密密麻麻的红点提示让她很惆怅,每一条消息她都要一条条去点击,太费时间且焦虑了 本篇文章将以之前聊过的 UiA ...

  4. python脚本实例手机端-Python脚本实现自动化Android手机apk安装实例

    #引入模块 importglobimporttimeimportos#定义全局变量 devices_list_finally =[] file_list_finally=[] chose_file_n ...

  5. 如何在pc上开发Android程序,电脑上运行Android应用(APK软件)超简单方法

    android是一个广阔.有活力的应用生态系统.根据统计,google play商店当中的应用数量已经超过1500万,其中当然也包含着众多高品质的热门应用. 但你是否想过,要是能在计算机上运行这些应用 ...

  6. 模拟器+(按键精灵+ python)实现自动化

    模拟器列表: 安卓:安卓模拟器是能在个人计算机运行并模拟安卓手机系统的模拟器,并能安装.使用.卸载安卓应用的软件,利用安卓模拟器,用户即使没有手机硬件设备,也能在模拟器中使用移动应用程序.安卓模拟器能 ...

  7. 安卓设备脱离pc自动化测试,Termux模拟器下python+uiautomator2的环境设置。本人亲测,踩坑总结。

    termux是一个终端模拟器,无需root,今天讲解安卓python+uiautomator2来实现安卓设备脱离pc的自动化环境设置: --------表示环境设置的坑太多,本人搞了很久,现做个详细总 ...

  8. 手机利用python访问电脑文件_黑客教程,一行python命令让手机读取电脑文件!

    本文讲解python的一个内置文件传输下载器,可以用来在局域网内进行文件传输,当然可能有人会问,我用微信QQ也能传,为什么还要用python来传输下载?在此,其实我个人感觉的是,这种操作更简单,省了时 ...

  9. pythonapp自动化_Android App持续集成性能测试:使用Python实现UI自动化

    本帖最后由 Android_Robot 于 2016-10-26 15:12 编辑 本篇内容主要为大家提供的是Android App持续集成性能测试:使用Python实现UI自动化.感兴趣的同学可以参 ...

最新文章

  1. The Shortest Statement CodeForces - 1051F LCA+最短路
  2. linux系统vim程序编译器,Linux学习:vim程序编辑器
  3. cpu序列号能告诉别人嘛_微信这个开关不删除,别人手机能随意登录你的微信,学会告诉家人...
  4. 牛客网递归错题:递归、欧几里得求最大公约数的时间复杂度、线性递归与尾递归实例区别
  5. 防抖debounce和节流throttle
  6. java如何循环调用方法_Java:调用方法的“中断”循环?
  7. 【chorme插件开发】第一节:chrome内核浏览器插件开发的说明
  8. CVS update常用技巧
  9. 混合开启服务-----百度音乐盒
  10. requestLayout() improperly called by
  11. 分布式服务发现与注册中心 Consul 中文入门指南
  12. 2021年氯化工艺复审考试及氯化工艺作业模拟考试
  13. Yuma格式历书的总结
  14. 分布式多级服务器架构设计构思
  15. 服务器完美安装可道云,打造私有网盘
  16. RK3568平台开发系列讲解(音视频篇)AudioTrack音频流数据传输
  17. 虹科案例 | Dimetix 激光测距传感器: 纸(布)卷直径与宽度的自动测量
  18. 社群微群人脉系统小程序版本源码下载
  19. 南阳oj入门题-公约数和公倍数
  20. 2019年c语言程序设计试卷,湖北经济学院2019年C语言程序设计模拟试卷(六)及完整答案.docx...

热门文章

  1. 新编程语言——微软的“M”语言
  2. 手机共享电脑网络上网
  3. python工程师是什么专业-python工程师的工作一般都在做什么?
  4. 两个div并排 左边div宽固定 右边自适应
  5. 字符串转换成对象的操作
  6. mysql 在指定的dsn中_指定的DSN包含驱动程序和应用程序之间的体系结构不匹配。 JAVA...
  7. 2007年开关稳压电源设计报告!!!
  8. PLC低频测速(T法测速)
  9. 软件质量控制相关知识
  10. java tsp 遗传算法_遗传算法解决TSP问题