我看这个节点下正好有一个 python 操作安卓的帖子:
https://www.v2ex.com/t/956097
那我也分享下使用 python 控制安卓手机的操作,我这个方法无需电脑,只需要一部安卓手机即可操作。
这篇文章主要介绍如何在安卓手机上运行 python 代码从而控制安卓手机进行模拟操作的方法。仅适用于安卓 11 及以上系统。
文章由来:
文章的由来起源于我一个想法:我手上有一块闲置的 esp8266 单片机,想要用它来做一个手机小说翻页器,但是难点在于如何在手机上接收信号并模拟操作,而且 python 代码并不支持安卓系统运行。经过我的一番努力,找到了两种方式,并成功制作小说翻页器,一种方式就是本文中使用 python 控制手机,另一种是使用 auto.js 软件控制。
给大家看看我最终制作好的手机翻页器成品效果:
https://www.lingchenbox.xyz/video/xiaoshuofanyeqi.mp4
不过今天分享的仅仅是制作这个小工具的一环——如何实现使用 python 模拟手机操作。
如果大家对这个手机小说翻页小工具的制作过程感兴趣的话,可以给我留言,感兴趣的人多的话,我写篇文章或者录个视频来分享这个工具的完整制作过程。
言归正传,接下来我们介绍使用 python 模拟手机操作的方法:此方法不是网上有些人说的用数据线连接电脑,然后再在电脑上运行 python 控制手机,而是仅需一部安卓手机,在安卓手机上运行 python ,从而控制手机。
具体做法:
你可以直接看视频:
如何用 python 控制手机?
https://www.lingchenbox.xyz/video/PyControlMobile.mp4
需要的工具:
termux (安卓软件,自行搜索下载)
shizuku (安卓软件,自行下载)
实现原理:
shizuku 这个软件的作用是不用手机连接电脑也能在手机上使用 adb 命令。
termux 是一个模拟 linux 的软件,使用它可以运行 linux 命令。
使用 shizuku 赋予 termux 运行 adb 命令的权限,这一步需要按照 shizuku 的官方教程引导做,比较复杂,我这里省略。
然后在 termux 中运行 adb 命令来实现控制手机的效果。
简单模拟手机操作例子:
运行单条命令:
在 termux 中安装好 python 后,比如在 python 中输入以下代码可以实现按下音量+的效果。
os.system("sh rish -c 'input keyevent 24'")
其中sh rish -c作用是使用 termux 启动一个拥有输入 adb 命令权限的终端窗口,-c 的作用是将后续的代码作为命令输入;input keyevent 24是 adb 命令,模拟按下音量+键。你也可以查询一些其它的 adb 命令比如"截屏","点击手机上某个坐标"等。
运行多条命令方法 1:
os.system("sh rish -c 'input keyevent 24 && input keyevent 24'"
上述命令的效果是按下两次音量+键。&&符号的作用是运行完上面一条命令之后再运行后面的命令,和 windows 的 cmd 中的用法一样。
演示:
https://www.lingchenbox.xyz/video/python_adb.mp4
运行多条命令方法 2:
这种方法就是在 python 脚本中编写代码来实现,详细请参照本文第一个视频 5min 之后的部分。
欢迎大家分享大家知道的可以在安卓上使用 python 进行自动化操作的方法~
拜拜。