专栏首页孤独的S利用python实现操控手机

利用python实现操控手机

久违的来记录一下最近学习的通过python代码来实现操控手机,这里是利用adb,安卓调试桥来实现的,当然也可以利用appium来实现,appium是一种自动化测试相关的,也能实现操作手机。

Android 调试桥 (adb) 是一种功能多样的命令行工具,可让您与设备进行通信。adb 命令可用于执行各种设备操作(例如安装和调试应用),并提供对 Unix shell(可用来在设备上运行各种命令)的访问权限。它是一种客户端-服务器程序,包括以下三个组件:

  • 客户端:用于发送命令。客户端在开发计算机上运行。您可以通过发出 adb 命令来从命令行终端调用客户端。
  • 守护进程 (adbd):在设备上运行命令。守护进程在每个设备上作为后台进程运行。
  • 服务器:管理客户端和守护进程之间的通信。服务器在开发机器上作为后台进程运行。

adb是安卓的一种组件,也可以直接在安卓当中使用,通过python使用的adb的操作,打个比方,A会吃饭,要吃饭,然后B叫A用嘴巴吃饭,这样吃,然后A就这样吃饭了。这里的A就是安卓手机,B就是python脚本。

想要使用adb,首先得配置好环境变量,首先先去安卓的官网下载adb的工具,地址https://developer.android.google.cn/studio/releases/platform-tools,然后存放到任意地址后,再将这个platform-tools的地址添加到环境变量中,然后在控制台窗口中输入adb,如果看到以下的情况,就说明安装完成了。

这时候用数据线连接手机,手机根据自己的系统打开开发者模式,然后在控制台窗口中输入adb devices,然后就会出现你的设备名称

利用python代码来控制也是通过系统命令来实现的,你也可以直接在电脑的控制台窗口输入adb命令,运行同样也可以对手机进行操作。

一个点击命令:

adb shell input touchscreen 500 500

这句话的功能是模仿点击屏幕,在500,500的位置点击了一下。如果你输入的命令不对的话,adb也会回馈正确的命令格式或关键字,如下图

其中的设备有平板,键盘,鼠标,手柄等等,控制方式有直接的文本,或者单个的单词,点击,滑动,后面的两个我自己自测是是用不了,可能是我没找到方法。

因为我之前做的时候主要想实现的能够模仿人手去控制手机的那些操作,使用了之后发现弊端还是有很多,不够灵活,不能实现长按或者按住滑动之类的。但是如果说安排好固定的流程,比如一些游戏的刷金币的话,没有复杂的操作,只有单一的点击事件的话,用adb还是相当方便的,只要写好循环,持续的发送adb命令,就可以不断的的运行操作了。

在python中,要使用adb的话,只需要一个os的库就可以

也可以使用subprocess.Popen,最简单使用方式如下,设置shell=True,就不会弹出cmd框

process = subprocess.Popen('adb shell input tap 14 1402',shell=True)

这两种方式都是可以,我在使用后者多一些,并且是应用多线程去使用的,这时候会因为过多的创建,然后发生阻塞,这时候只要把这个服务端口kill掉就可以了。

本文分享自微信公众号 - 孤独的S(sjw_980305),作者:sjw1998

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-05-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 用python做一个划词翻译软件

    在我们学习的时候,在我们查找文档的时候,很多内容都是英文的,如果你的英文不好,就很难去阅读这篇文章,语言不通是我们学习的最大的绊脚石,虽然谷歌浏览器有翻译的功能...

    sjw1998
  • python之多线程

    本来呢应该先看多进程的,但是由于我的虚拟机之前删除了linux,所以现在没有这个系统,可能无法编译一些多进程的程序,于是我就想着先看多线程了。

    sjw1998
  • python---爬取某鱼直播

    用了selenium,才深刻的体会到它的好处,更加的方便更加的快捷,更容易的获取网页的信息。

    sjw1998
  • 「docker实战篇」python的docker爬虫技术-移动自动化控制工具安卓ADB的使用(15)

    PS:基本adb常用的命令从列表获取,列表展示,拉取文件,推送文件,截图命令等等。

    IT故事会
  • win7安装adb

    一、安装adb(下载资源http://download.csdn.net/detail/hanbo622/7558535)

    梦_之_旅
  • android系统调试工具adb命令

    设备的状态有 3 钟,device , offline , unknown device:设备正常连接 offline:连接出现异常,设备无响应 unkn...

    李小白是一只喵
  • Android adb命令大全

    一般在安装的时候先敲出adb install然后直接将apk文件拖到MS Dos窗口中即可,然后点击回车即可自动安装。

    IT大飞说
  • 速看,APP测试之ADB最全指南!

    ADB全称Android Debug Bridge, 是android sdk里的一个工具,目的是起到调试桥的作用,用这个工具可以直接操作管理android模拟...

    ITester软件测试小栈
  • 如何开始对Android应用的逆向分析?

    本文是我的关于如何开始Android逆向系列文章的第一部分。在文末提供了一个文档,你可以根据该文档说明部署同我一样的实验环境。

    FB客服
  • adb 常用命令总结

    流柯

扫码关注云+社区

领取腾讯云代金券