python可以做手机应用吗,Python做手机APP

  python可以做手机应用吗,Python做手机APP

  最近经常看到用Python操作手机APP的项目,比如Tik Tok、闲鱼。看了这些项目,发现都需要部署亚行环境。至于亚行是什么,很多大神都讲过,但是写的很专业。等菜鸟看的时候还是稀里糊涂的。

  为了让没有Android开发经验的人能够快速学会如何使用Python操作手机APP,我从Android SDK部署、ADB的基础应用、Python操作手机等方面写了这篇文章。目的是让大家对亚行的使用有一个直观的认识,这样玩上面说的这些项目会比较容易。

  事先声明:本文涉及的各种操作可能有多种实现方式,我只提其中一种,我采用的方法很可能不是最好的。

  1.Android SDK下载和部署

  说起Android SDK工具,还真不少,包括SDK工具,SDK,Platform-tools等。这里我推荐SDK工具。在https://www.androiddevtools.cn/,进入这个网站,选择你对应的系统版本(zip版本)下载,可以看到下图的界面。

  解压下载的文件,运行management文件,进入软件包安装管理界面。对于新手朋友,我建议直接使用默认选项,然后点击右下角的安装XX包按钮。整个下载安装过程大概需要几分钟,具体时间和个人网速有关。

  然后是配置环境变量,将android-sdk目录下的platform-tools和tools文件夹添加到系统变量中。这一步是常规操作,不再演示。

  执行以上步骤后,即使配置了ADB环境,之后你需要做的就是打开手机的开发者选项,打开usb调试,用USB线把手机和电脑链接起来。

  接下来进入关键步骤——,测试手机是否通过ADB连接成功。进入系统终端,输入adb设备命令。如果出现下图所示的结果,说明刚才环境已经部署成功,连接的设备号在设备前面。

  如果连接测试不成功,比如找不到设备或者设备连接不上,可以尝试关机重新开始调试,重启手机,重启电脑,插拔USB线等。通常可以解决。

  2.2的一些基本操作。亚洲开发银行(Asian Development Bank)

  虽然是基本操作,但是ADB命令还是挺多的,一时半会大家很难消化。所以我就简单列举几个常用的操作手机APP的指令,都是基本操作。

  1).显示所有包名。

  adbshellpmlistpackages

  本说明将列出手机上安装的所有应用程序包的名称。如果使用参数-s添加后缀,将列出所有系统应用程序的名称(如下),而后缀参数-3将列出所有第三方应用程序的名称。

  2).显示活动程序。

  adbshelldumpsys活动活动

  这个命令可以获取当前移动电话系统中运行的包的名称。比如我在手机里启动小米手机的“游戏中心”,运行上面的命令会得到下图的信息:

  图中realActivity后面的参数是当前运行的活动的名称。如果你稍微注意一下,你会发现这个名字比上面的包名更详细。至于这个名字的用法,我们马上就提。

  3)启动应用程序。

  Adbshellamstart -n要启动的应用程序活动的名称。

  这里使用的活动名称是刚刚获得的realActivity后面的参数。使用该指令时,需要注意的是,启动APP必须使用前一条命令获取的活动名,不能使用adb shell pm list packages命令获取的包名。例如,如果我们想启动小米的游戏中心,我们可以使用命令:

  adbshellamstart-ncom . Xiaomi . game center/. ui . maintain b activity

  但是,如果使用以下命令,应用程序将无法顺利启动:

  adbshellamstart-ncom . Xiaomi . game center

  4).停止应用程序

  Adshell amforce-stop应用程序名称停止。

  该命令将强制停止指定的应用程序,这与程序的启动略有不同。当停止应用程序时,您可以只使用通过adb shell pm list packages命令获得的包名。以小米的游戏中心为例。停止使用以下ins

  adbshellamforce-stop com . Xiaomi . game center

  5).单击指定的位置。

  adbshellinputtapxy

  这个指令很容易理解。它模拟点击手机屏幕上的某个位置,(x,y)是对应的位置坐标。在ADB中,默认手机屏幕左上角坐标为(0,0),右下角坐标为(xmax,ymax)。

  这里要强调一点:

  要使用模拟点击功能,必须通过USB调试或者点击模拟来设置手机修改的权限。之后的滑动手机屏幕、输入短信等功能也需要同样的设置。

  6).滑动手机屏幕。

  adbshellinputswipe x _ start y _ start x _ end y _ end

  这个指令的本质是使坐标为(x_start,y_start)的点移动到(x_end,y_end)的坐标位置,从而达到屏幕滑动的效果。

  7).输入文本信息。

  要输入的Adbshellinputtext字符

  这个指令没什么好解释的。只需选择相应的位置,然后输入相应的字符。

  8).模拟手机按键。

  adbshellinputkeyeventX

  现在大部分手机除了常规的键盘字符之外,还有一些特殊的按键,比如HOME键,音量/-,还有软键盘中有时会出现的确认键等等。这些按键的模拟可以通过上面的指令来实现。

  其中X对应于特殊键的数量。以下是一些常见的例子(还有许多其他特殊的键):

  3对应于HOME键。

  24对应于体积

  25对应于体积-

  66对应于确认键。

  9).获取元素位置。

  细心的朋友现在可能会发现,上面提到的一些关于模拟点击和输入的命令,涉及到手机元素的定位。那么我们在实践中如何确定具体的坐标位置和元素信息呢?在这里,我建议使用工具uiautomatorviewer.bat,它将与SDK工具一起安装,就在tools目录下。

  看下图。手机连接成功后,点击左上角绿色图标,即可获得手机当前页面信息。然后,您可以单击屏幕左侧的任何位置或元素,相关信息将显示在屏幕右侧。

  是不是感觉和用chrome分析网页很像?有了这些信息,使用上述说明操作手机就不成问题了。

  3.Python控制着移动应用程序

  1).命令行操作

  前面讲了亚行控制手机的一些基本操作。只是理论太枯燥了。现在让我们做一个小实验来看看效果。

  我们以小米的游戏中心为例,利用ADB依次完成以下任务:

  切换到“在线游戏”选项卡和命令:adb shell输入tap 400 263

  选择搜索栏和命令:adb shell input tap 776 139。

  输入“wangzherongyao”,命令:ADB shell输入文本wangzherongyao。

  点击确认键,指令为adb shell input keyevent 66。

  进入王者荣耀的游戏页面,指令是adb shell输入tap 600 500。

  2).Python脚本操作

  从上面的演示视频来看,使用ADB操作手机APP还是比较成功的,但是如果像刚才那样一条一条的输入指令,可能就没有直接操作手机那么方便了,所以我们需要使用Python脚本使其批量自动运行。

  Python可以借助os.system()函数执行终端指令。让我们看看下面的代码:

  上面代码实现的功能和我们之前演示的基本相同,主要是增加了一个打开游戏中心的操作,简化了一些中间步骤。

  总结:

  今天的文章讲的是亚行的入门操作。我不知道ADB中很多与Android APP相关的做法无法实现,但是仅仅学习这些还不足以实现一个像样的控制脚本。如果想了解更多Python相关的学习教程,请关注!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: