返回顶部
首页 > 资讯 > 后端开发 > Python >教你用python控制安卓手机
  • 546
分享到

教你用python控制安卓手机

2024-04-02 19:04:59 546人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录一、介绍二、安装要求三、入门四、编写脚本的基础五、创建自拍计时器六、创建定义搜索器七、最后的想法一、介绍 ADB(Android调试桥)是一个命令行工具(CLI),可用于控制An

一、介绍

ADB(Android调试桥)是一个命令行工具(CLI),可用于控制Android设备并与之通信。您可以执行许多操作,例如安装应用程序,调试应用程序,查找隐藏的功能并使用外壳程序直接与设备连接。要启用ADB,您的设备必须首先解开发者选项并启用USB调试。要解锁开发人员选项,您可以转到设备设置,然后向下滚动到“关于”部分,找到设备上当前软件的内部版本号。单击内部版本号 7次,将启用开发人员选项。然后,您可以转到设置中的“开发人员选项”面板,然后从那里启用USB调试。现在,您唯一需要做的另一件事就是将设备连接到计算机的USB电缆。

这是今天的旅程:

1.安装要求

2.入门

3.编写脚本的基础

4.创建自拍计时器创

5.建定义搜索器

二、安装要求

我们需要安装的两件事中的第一件事是计算机上的ADB工具。它会自动与Android Studio捆绑在一起,因此,如果您已经拥有了,那就不用担心了。否则,您可以转到[官方文档](https://developer.android.com/studio/command-line/adb),并且在页面顶部应有有关如何安装它的说明。

安装ADB工具后,您需要获取python库,我们将使用该库与ADB和我们的设备进行接口。您可以使用pip install pure-Python-adb安装pure-python-adb库。

可选:为使我们在开发脚本时更轻松,我们可以安装一个名为scrcpy的开源程序,该程序允许我们使用鼠标和键盘在我们的计算机上显示和控制我们的android设备。要安装它,您可以转到[GitHub repo](Https://github.com/Genymobile/scrcpy)并下载适用于您的操作系统windowsMacOS或linux)的正确版本。如果您使用的是Windows,则将zip文件解压缩到一个目录中,然后将此目录添加到您的路径中。这样一来,我们只需在终端窗口中键入scrcpy即可从系统上的任何位置访问该程序。

三、入门

现在已经安装了所有依赖项,我们可以启动ADB并连接设备。首先,使用USB电缆将设备连接到PC,如果启用了USB调试,则会弹出一条消息,询问PC是否可以控制设备,只需回答是。然后在您的PC上,打开一个终端窗口,并通过键入adb start-server来启动ADB服务器。这应该打印出以下消息:

  • daemon not running; starting now at tcp:5037
  • daemon started successfully

如果您还安装了scrcpy,则可以通过在终端中键入**scrcpy来启动它。但是,这仅在将其添加到路径时才有效,否则可以通过将终端目录更改为安装scrcpy的目录并键入scrcpy.exe**来打开可执行文件。希望一切顺利,您应该能够在PC上看到您的设备,并能够使用鼠标和键盘对其进行控制。

现在,我们可以创建一个新的python文件,并检查是否可以使用该库找到连接的设备:


rom ppadb.client import Client as AdbClient

if __name__ == '__main__':
    client = AdbClient(host="127.0.0.1", port=5037) # Default is "127.0.0.1" and 5037

    devices = client.devices()

    if len(devices) == 0:
        print('No devices')
        quit()

    device = devices[0]

    print(f'Connected to {device}')

在这里,我们导入AdbClient类并使用它创建一个客户端对象。然后,我们可以获得连接的设备的列表。最后,我们从列表中获得第一台设备(如果仅连接了一个设备,则通常是唯一的设备)。

四、编写脚本的基础

我们要与设备连接的主要方式是使用外壳,通过这种方式,我们可以发送命令以模拟特定位置的触摸或从A滑动到B。要模拟屏幕触摸(轻击),我们首先需要工作了解屏幕坐标的工作方式。为了帮助解决这些问题,我们可以在开发人员选项中激活指针位置设置。激活后,无论您在屏幕上的何处触摸,都可以看到该点的坐标显示在顶部。坐标系的工作方式如下:

在这里插入图片描述

该图显示了坐标系的工作方式

显示屏的左上角分别具有* x y 坐标(0,0),并且右下角的坐标是 x y *的最大可能值。

现在我们知道了坐标系的工作原理,我们需要检查一下可以运行的不同命令。我在下面列出了命令列表以及如何使用它们,以供快速参考:


Input tap x y
Input text “hello world!”
Input keyevent eventID
Here is a list of some common eventID's:
3: home button
4: back button
5: call
6: end call
24: volume up
25: volume down
26: turn device on or off
27: open camera
64: open browser
66: enter
67: backspace
207: contacts
220: brightness down
221: brightness up
277: cut
278: copy
279: paste

如果您想找到更多,请在这里找到一长串清单。https://forum.xda-developers.com/t/q-adb-input-keyevent-for-long-press-on-power- button.2063741 / post-64890206。

五、创建自拍计时器

现在我们知道我们能做什么,让我们开始吧。在第一个示例中,我将向您展示如何创建一个快速的自拍计时器。首先,我们需要导入我们的库并创建一个connect函数以连接到我们的设备:


import time

from ppadb.client import Client as AdbClient

def connect():
    client = AdbClient(host="127.0.0.1", port=5037) # Default is "127.0.0.1" and 5037

    devices = client.devices()

    if len(devices) == 0:
        print('No devices')
        quit()

    device = devices[0]

    print(f'Connected to {device}')

    return device, client

您可以看到connect函数与前面的如何连接到设备的示例相同,除了这里我们返回设备和客户端对象以供以后使用。


if __name__ == '__main__':
    device, client = connect()

    # open up camera app
    device.shell('input keyevent 27')

    # wait 5 seconds
    time.sleep(5)

    # take a photo with volume up
    device.shell('input keyevent 24')
    print('Taken a photo!')

在我们的主代码中,我们可以调用connect函数来检索设备和客户端对象。从那里我们可以打开相机应用程序,等待5秒钟并拍照。真的就是这么简单!正如我之前说过的,这只是复制您通常会做的事情,因此,如果您首先手动进行操作并写下步骤,则思考如何做事情是最好的。

六、创建定义搜索器

现在,我们可以做一些更复杂的事情,那就是要求浏览器找到特定单词的定义,并截图以将其保存在我们的计算机上。

该程序的基本流程如下:

1.打开浏览器

2.单击搜索栏

3.输入搜索查询

4.等待几秒钟

5.截图并保存

但是,在我们开始之前,您需要在默认浏览器中找到搜索栏的坐标,您可以使用我之前建议的方法轻松地找到它们。对我来说,他们是(440,200)。

首先,我们将必须导入与以前相同的库,并且我们还将具有相同的connect方法。


import time

from ppadb.client import Client as AdbClient

def connect():
    client = AdbClient(host="127.0.0.1", port=5037) # Default is "127.0.0.1" and 5037

    devices = client.devices()

    if len(devices) == 0:
        print('No devices')
        quit()

    device = devices[0]

    print(f'Connected to {device}')

    return device, client

在我们的主要函数中,我们可以调用connect函数,并为我们的搜索栏的* x y *坐标分配一个变量。注意这是一个字符串,而不是列表或元组,这样我们可以轻松地将坐标合并到我们的shell命令中。我们还可以从用户那里获取输入信息,以查看他们想要获取哪个单词的定义:


if __name__ == '__main__':
    device, client = connect()

    search_bar = '440 200' # x y

    query = input('What Word do you want to find the definition of: ')
    search_query = f'what is the definition of {query}'

我们会将查询添加到完整的句子中,然后对其进行搜索,这样我们就可以始终获取定义。之后,我们可以打开浏览器,然后将搜索查询输入到搜索栏中,如下所示:


device.shell('input keyevent 64')

time.sleep(0.25) # wait for browser to load

device.shell(f'input tap {search_bar}')

device.shell(f'input text "{search_query}"') # make sure you have the quotation marks around your text
device.shell('input keyevent 66')

time.sleep(3) # wait for results to load

在这里,我们使用eventID 66模拟输入键的按下以执行搜索。如果需要,可以根据需要更改等待时间。

最后,我们将在设备对象上使用screencap方法获取屏幕截图,然后可以将其另存为* .png *文件:


screenshot = device.screencap()

with open('result.png', 'wb') as f: # save the screenshot as result.png
    f.write(screenshot)
    print('Saved screenshot!')

在这里,我们必须以写字节模式打开文件,因为screencap方法返回表示图像的字节。

如果一切都按计划进行,则应该有一个快速脚本来搜索特定单词。这在我的手机上正常工作:

在这里插入图片描述

七、最后的想法

希望您今天学到了一些新知识,在我对此进行研究之前,我个人甚至都不知道这是一回事。很酷的事情是,您可以执行平常可以做的任何事情,而且还可以做更多的事,因为它只是模拟您自己的触摸和动作!

希望您喜欢这篇文章,并感谢您的阅读! 💖

到此这篇关于教你用python控制安卓手机的文章就介绍到这了,更多相关用python控制手机内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 教你用python控制安卓手机

本文链接: https://lsjlt.com/news/125860.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 教你用python控制安卓手机
    目录一、介绍二、安装要求三、入门四、编写脚本的基础五、创建自拍计时器六、创建定义搜索器七、最后的想法一、介绍 ADB(Android调试桥)是一个命令行工具(CLI),可用于控制An...
    99+
    2024-04-02
  • 使用python怎么控制安卓手机
    这期内容当中小编将会给大家带来有关使用python怎么控制安卓手机,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、介绍ADB(Android调试桥)是一个命令行工具(CLI),可用于控制Android设...
    99+
    2023-06-15
  • python实现电脑操控安卓手机
    一、电脑下载并安装SDK Platform Tools 下载后的文件:platform-tools_r30.0.4-windows.zip(大约12M) 接着解压文件到指定...
    99+
    2024-04-02
  • 安卓好用的python编辑器,安卓手机python编程软件
    本篇文章给大家谈谈安卓手机python编程软件,以及安卓好用的python编辑器,希望对各位有所帮助,不要忘了收藏本站喔。 1、手机有什么python编译器 现在越来越多人学习python,很多小伙伴都富有激情的,利用碎片化的时间都要学...
    99+
    2023-09-05
    数据分析
  • 手把手教你用python绘制热度图(heatmap)
    目录1、简单的代码2、添加X轴和Y轴标签和标题:3、对右侧的色条(colorbar)进行调整:4、修改色条的刻度值和标签的字体大小、颜色:5、对热度图显示数值和添加网格线:6、 定义...
    99+
    2022-12-23
    python 热力图 python画热力图 python热力图怎么画
  • 安卓手机装win7系统的图文教程
    安卓操作系统在手机市场占据了80%的份额,是我们经常使用的一款操作系统。而win7系统是电脑上用户们最喜欢的操作系统。最近有用户联系小编,想了解如何在安卓手机上安装Windows 7系统的图文教程。那么今天小编就来教教大家安卓手机装win7...
    99+
    2023-07-12
  • VMware 安装安卓虚拟机 一步一步的手把手教学
    VMware 安装 安卓虚拟机 一、下载安卓镜像二、创建新的虚拟机三、勾选3D加速的情况新建安卓分区,配置系统重要重点来了!!!!! 四、不勾选3D加速的情况五、安装完成六.网络设置七. 可以安装软件了 平台:PC CPU...
    99+
    2023-08-16
    android linux
  • 手把手教会你安装Ubuntu虚拟机
    安装Ubuntu虚拟机的步骤如下:1. 下载并安装虚拟机软件:首先需要下载并安装虚拟机软件,比如VirtualBox或VMware ...
    99+
    2023-09-13
    ubuntu
  • 手把手教你使用Python绘制时间序列图
    目录01从Quandl检索数据集02绘制收盘价与成交量的关系图03绘制烛台图导读:分析时间序列数据的一种简单而有效的方法就是将时间序列数据可视化在一个图表上,这样我们就可以从中推断出...
    99+
    2024-04-02
  • 浅谈如何使用Python控制手机(一)
    目录1. 配置Python环境变量2. 安装Python编辑器,并在其中配置Python3. 安装控制包uiautomator2,和其它辅助包4. 安装adb5. adb调用6、设备...
    99+
    2024-04-02
  • 浅谈如何使用Python控制手机(二)
    目录1. 序言2. 前置工作3. 打开APP4. 获取APP的包名5. 打开特定页面6. 其它细节7. 总结1. 序言 每年淘宝双十一的时候,总是要刷各种各样的浏览页面,收集能量或者...
    99+
    2024-04-02
  • 安卓手机/pad用Charles抓包https(mac版超详细教程)
    前置条件:charles抓取手机数据包的前提,手机和电脑需要在一个局域网内。 1.charles的配置 在charles中【proxy->proxy Settings】设置进行代理的端口 电脑端安装https证书:  此时会启动“钥匙...
    99+
    2023-09-06
    https 网络协议 http
  • 安卓手机用WIFI无线调试adb
    1、准备连接 1、首先将电脑和手机连接同一个WIFI,并插上数据线 2、打开电脑CMD,输入命令adb start-server开启adb服务 3、输入adb devices 查询已连接的设备 List of devices atta...
    99+
    2023-10-04
    android adb 智能手机
  • web开发中如何实现Iphone手机、安卓手机浏览器控制默认缩放大小的方法
    这篇文章给大家分享的是有关web开发中如何实现Iphone手机、安卓手机浏览器控制默认缩放大小的方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。可能大家发现自己制作的手机端页面...
    99+
    2024-04-02
  • 如何使用adb控制手机
    一、介绍 AndroidDebug Bridge 我们一般简称为adb,它是一个非常强大的命令行工具,通过adb工具,你能够与你的android设备进行通信。使用adb命令是可以操控手机的,比如点击、滑动、输入等。在操控手机之前要先连接上手...
    99+
    2023-10-08
    adb android 智能手机
  • 通过Python实现控制手机详解
    几天前我在考虑使用 python 从 whatsapp 发送消息。和你们一样,我开始潜伏在互联网上寻找一些解决方案并找到了关于twilio. 一开始,是一个不错的解决方案,但它不是...
    99+
    2024-04-02
  • Python学习教程:教你用Python通过微信来控制电脑摄像头
    如果说强大的标准库奠定了Python发展的基石,丰富的第三方库则是python不断发展的保证。今天的Python学习教程就来通过itchart库来实现通过微信对电脑的一些操作。...
    99+
    2023-06-02
  • 手把手教你在Python里使用ChatGPT
    目录前言知识点实现代码后话前言 近来chatGPT挺火的,也试玩了一下,确实挺有意思。这里记录一下在Python中如何去使用chatGPT。 本篇文章的实现100%基于 chatGP...
    99+
    2022-12-19
    python使用chatgpt 如何使用chatgpt chatgpt怎么玩
  • Python实现用手机监控远程控制电脑的方法
    一、前言 很多时候,我们都有远程控制电脑的需求。比如正在下载某样东西,需要让电脑在下载完后关机。或者你需要监控一个程序的运行状况等。 今天我们就来用Python实现一个远程监控并控制电脑的小程序。 二、实现原理 ...
    99+
    2022-06-02
    Python 远程控制电脑 Python 手机远程控制电脑
  • 远程控制云服务器怎么用手机控制
    在使用远程控制云服务器之前,用户需要确保自己的设备已连接到网络。然后,用户需要使用手机或平板电脑进入云服务器的管理页面,并选择要控制的应用程序。在应用程序的操作过程中,用户需要输入相应的账户和密码,以确保账户的安全。 通过远程控制云服务器...
    99+
    2023-10-28
    用手 远程控制 服务器
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作