您当前的位置:首页 > 计算机 > 编程开发 > Python

安卓软件+Python实现手机自动化操控

时间:07-29来源:作者:点击数:

这篇文章主要介绍如何在安卓手机上运行python代码从而控制安卓手机进行模拟操作的方法。仅适用于安卓11及以上系统。

一、文章由来:

文章的由来起源于我一个想法:我手上有一块闲置的esp8266单片机,想要用它来做一个手机小说翻页器,但是难点在于如何在手机上接收信号并模拟操作,而且python代码并不支持安卓系统运行。经过我的一番努力,找到了两种方式,并成功制作小说翻页器,一种方式就是本文中介绍的方法使用python控制手机,另一种是使用auto.js软件控制。

给大家看看我最终制作好的手机翻页器成品效果:

自制翻页器效果演示

不过今天分享的仅仅是制作这个小工具的一环——如何实现使用python模拟手机操作。

我将介绍2种使用python模拟手机操作的方法:这两种方法不是网上有些人说的用数据线连接电脑,然后再在电脑上运行python控制手机,而是仅需一部安卓手机,在安卓手机上运行python,从而控制手机。

二、python控制手机方法1:

2.1 需要的工具:

  • termux(安卓软件,自行搜索下载)
  • shizuku(安卓软件,自行搜索下载)

2.2 实现原理:

shizuku这个软件的作用是不用手机连接电脑也能在手机上使用adb命令。

termux是一个模拟linux的软件,使用它可以运行linux命令。

使用shizuku赋予termux运行adb命令的权限,比较复杂,可以看2.3节的视频。

然后在termux中运行adb命令来实现控制手机的效果。

2.3 详细操作过程:

两个软件实现python控制手机自动化

这个视频介绍了如何使用termux和shizuku两个软件实现python控制手机进行自动化操作的详细操作过程。

2.4 运行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中的用法一样。

运行多条命令方法2:

这种方法就是在python脚本中编写代码来实现,比如如下脚本。

os.system("sh rish -c 'input keyevent 25'") #按下音量-
time.sleep(1) #延迟1s
os.system("sh rish -c 'input keyevent 24'") #按下音量+

演示请参照本文2.3节视频5min之后的部分。

三、python控制手机方法2:

3.1 需要的工具:

  • termux(安卓软件,自行搜索下载)

3.2 实现原理:

利用安卓手机的无线调试功能,在termux中安装一个adb工具包,运行adb命令来实现控制手机的效果。

3.3 详细操作过程:

仅需一个app实现python自动化操作手机

这个视频中演示了使用python进行多次自动模拟滑动的操作,以及如何只使用termux一个软件实现python控制手机进行自动化操作。

3.4 运行adb命令的方法:

和2.4节类似,参考2.4节即可,只不过命令格式有所区别:

两种命令格式的对比如下

#这是方法1命令格式
os.system("sh rish -c 'input keyevent 25'") 
#这是方法2命令格式
os.system("adb shell input keyevent 25") 

方法1运行多条命令

os.system("sh rish -c 'input keyevent 24 && input keyevent 24'")

方法2运行多条命令

os.system("adb shell input keyevent 25&&adb shell input keyevent 25") #连续两次音量-

你可能会有疑问,既然方法2只需要termux就能实现,为什么还要介绍第一种要用到两个软件的方法?之所以介绍两种方法,是因为方法2中有一步需要联网下载android-tools包,万一到时候下载失败这种方法失效,好歹有一种可以备用的方法。

好了,以上就是本次分享的关于python如何控制手机实现自动化的内容,感谢阅读,拜拜啦~

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门