《Python编程几乎无所不能,只要你敢想敢试!》今天,让我们看看如何使用Python代码来控制你的Android手机。具体来说,就是代替你的手,实现自动触摸和一些动作,实现自动化操作!主要用的是安卓手机的安卓调试桥(AndroidDebugBridge),非常好用的工具!在这篇文章的快速指南中,我将向您展示如何使用Python代码与ADB交互,以及如何创建2个快速脚本。ADB(AndroidDebugBridge)是一个命令行工具(CLI),可用于控制和与Android设备通信。有很多事情可以做:比如安装应用程序、调试应用程序、查找隐藏功能以及使用shell直接连接设备。要启用ADB,您的设备必须首先解锁开发者选项并启用USB调试——要解锁开发者选项,请转到设备设置,然后向下滚动到“关于”部分以查找您设备上当前软件的内部版本号。单击版本号7次,将启用开发人员选项。然后您可以转到设置中的“开发人员选项”面板并从那里启用USB调试。现在,您基本上已经完成了,您唯一需要做的就是使用USB数据线将手机连接到计算机。好了,今天的旅程是这样的:安装要求介绍入门,让你飞起来脚本基础介绍创建自拍计时器创建定义查找器1.安装准备需要安装的两个东西中的第一个是ADB工具电脑。它自动与AndroidStudio捆绑在一起,所以如果您已经安装了AndroidStudio,请不要担心。否则,您可以转到官方文档,页面顶部应该有关于如何安装它的说明。安装ADB工具后,我们需要获取将用于与ADB和手机交互的python库。安装命令如下:pipinstallpure-python-adb#安装pure-python-adb库。下面的不是必须的,但是必须的:为了方便我们开发脚本,我们可以安装一个叫做scrcpy的开源程序,它可以让我们在电脑上使用鼠标和键盘设备来显示和控制我们的android手机.要安装它,请转到Github存储库并为您的操作系统(Windows、macOS或Linux)下载正确的版本。如果使用Windows,请将zip文件解压缩到一个目录中,并将该目录添加到您的路径中。这使我们只需在终端窗口中键入scrcpy即可从系统的任何位置访问该程序。2.开始现在所有的依赖都安装好了,你可以启动ADB并连接设备了。首先,用USB线将设备连接到PC,如果开启了USB调试,会弹出信息询问PC是否可以控制设备,回答yes即可。然后在您的PC上,打开一个终端窗口并通过键入adbstart-server启动ADB服务器。这应该会打印出以下消息:如果还安装了scrcpy,只需在终端中键入scrcpy即可启动它。但是,这只有在将它添加到您的路径时才有效,否则,您可以通过将终端目录更改为安装scrcpy的目录并键入scrcpy.exe来打开可执行文件。希望一切顺利,您应该能够在您的PC上看到您的设备并能够使用您的鼠标和键盘控制它。现在,我们可以创建一个新的Python文件并检查我们是否可以使用上面的库找到连接的设备:上面在这里,我们导入AdbClient类并使用它来创建一个客户端对象。然后我们可以获得已连接设备的列表。最后,我们从列表中获取第一个设备(通常是唯一一个,如果只有一个已连接)。3.脚本基础我们与设备交互的主要方式是使用shell,通过这种方式我们可以发送命令来模拟特定位置的触摸或从A到B的滑动。模拟屏幕触摸(水龙头),我们首先需要研究屏幕坐标的工作原理。为了帮助解决这些问题,我们可以在开发者选项中激活指针位置设置。激活后,无论您触摸屏幕的哪个位置,您都会在顶部看到该点的坐标。手机屏幕坐标系的工作原理是:显示器的左上角是x和y坐标点(0,0),右下角的坐标是x和y的最大可能值。现在我们知道坐标系是如何工作的,我们需要检查我们可以运行的不同命令。我在下面包含了一个命令列表以及如何使用它们以供快速参考(不懂英语?只需查找它)4.创建一个自拍计时器哦,现在我们大致知道我们可以做什么,让我们开始吧,做一个简单的例子。我将向您展示如何创建快速自拍计时器。首先,我们需要导入我们的库并创建一个连接函数来连接到我们的设备:你可以看到连接函数与前面如何连接到设备的示例相同,除了这里我们返回设备和客户端对象以备后用。在上面的主要代码中,我们可以调用连接函数来检索设备和客户端对象。从那里我们可以打开相机应用程序,等待5秒钟并拍照。真的就是这么简单!正如我之前所说,这只是重复你通常会做的事情,所以如果你先手动做并写下步骤,最好考虑如何做。相信和我一起学Python的童鞋们都能看懂上面的代码吧?5.创建一个定义查找器现在,让我们做一些更复杂的事情:让浏览器找到一个特定单词的定义,并截图保存在我们的电脑上。要编写的程序的基本流程如下:1.打开浏览器2.单击搜索栏3.输入搜索查询4.等待几秒钟5.截屏并保存但是,在开始之前,你需要找到搜索栏的坐标,使用我之前建议的方法可以很容易地找到它们。对我来说,它们是(440,200)。首先,我们必须导入与之前相同的库,使用相同的连接方法。在我们的主函数中,我们可以调用连接函数并为搜索栏的x和y坐标分配一个变量。请注意,这是一个字符串,而不是列表或元组,因此我们可以轻松地将坐标合并到我们的shell命令中。我们还可以从用户那里获取输入以查看他们想要获取哪个词的定义:我们将查询添加到完整的句子中,然后进行搜索,这样我们总能获得定义。之后,我们可以打开浏览器并在搜索栏中输入搜索查询,如下所示:这里我们使用eventID66来模拟按下回车键来执行搜索。如果需要,可以根据需要更改等待时间。最后,我们在设备对象上使用screencap方法截取屏幕截图并将其保存为.png文件:这里我们必须以写入字节模式(“wb”)打开文件,因为screencap方法返回表示图像的字节.如果一切按计划进行,您应该有一个快速脚本来搜索特定的词。它在我的手机上是这样工作的:希望你今天学到了一些新东西,直到我研究了这个我才真正知道,但最酷的是:有了它你基本上可以做你通常做的任何事情!没错,还有更多,因为它只是模拟您自己在手机上的触摸和动作!以上就是本次分享的全部内容。觉得文章还不错的话,请关注公众号:Python编程学习圈,每日干货分享,发送“J”还能收到海量学习资料,涵盖Python电子书和教程,数据库编程、Django、爬虫、云计算等。或者去编程学习网了解更多编程技术知识。
