python中adb有什么功能

 更新时间:2020年06月07日 15:27:03   作者:yang  
在本篇文章里小编给大家分享的是关于python中adb有功能的知识点总结,有需要的可以跟着学习下。

ADB是Android SDK中的一个工具, 使用ADB可以直接操作管理Android模拟器或者真实的Andriod设备。

ADB主要功能有:

1、在Android设备上运行Shell(命令行)

2、管理模拟器或设备的端口映射

3、在计算机和设备之间上传/下载文件

4、将电脑上的本地APK软件安装至Android模拟器或设备上

python有两种方式去调用adb命令,一种是os.system(),一种是os.popen()。

两者的区别就是前者无法获取到返回值,后者可以获取到返回值。

os.popen()返回的是file对象,可以直接利用read()方法读取。

内容扩展:

 python如何调用adb命令

Python中执行cmd命令可以用到os和subprocess两个模块。区别在于os是阻塞式的,subprocess是非阻塞式的,所以我们使用subprocess是比较适合的。接下来我先举一个查询连接设备的命令来看看python中怎么样的写法。用到的命令为 adb devices。

import subprocess
order='adb devices' #获取连接设备
pi= subprocess.Popen(order,shell=True,stdout=subprocess.PIPE)
print pi.stdout.read() #打印结果

实际打印结果,可以看到当前电脑连接了三台设备。这里需要再说明一下adb devices 命令的结果返回是一次性的,所以我们用read方法读取数据是没有问题的,然而adb命令里还有一些是实时返回结果的,比如输出手机日志的命令logcat,结果会不断的打印出来当前的设备操作日志信息内容,这种类型的命令我们在python中如果需要获取打印结果,如果还是用read方法的话,等待结果的返回时间会非常长,这里我们就要换一种方法读取结果,写法如下。

import subprocess
order='adb logcat'
pi= subprocess.Popen(order,shell=True,stdout=subprocess.PIPE)
for i in iter(pi.stdout.readline,'b'):
print I

这样的打印效果,如同cmd里操作一致,实时的打印出日志信息。这里我们就用到了readline方法,其实这种写法类似我们读取文件,单行读取和全部内容读取。因为目前pyapp的框架已经基本写完了,所以有了写这篇文章的想法,分享一些python在处理adb命令上的一些心得,就目前来看python在调用adb命令上区别主要就是这两点,最终目的是我们找到需要的功能命令获取结果数据,然后再去通过python处理这些返回数据,实现自动化测试的目的。大家要用好adb命令,还要注意一点的是每条命令的各种参数的搭配使用,比如pyapp的实现是支持多设备连接的,那么我们在针对某个手机进行adb命令操作时,就需要带上-s 加设备号,表示操作的具体设备否则命令会报错。

比如我们针对一个设备去进行点击操作,命令的写法应该是这样:adb -s 49dsd4554wdsa shell input tap 600 900,其中‘49dsd4554wdsa'是设备号,‘600 900'点击屏幕坐标。所以可以看到增加了-s之后就可以很方便的同时操作多台设备。

到此这篇关于python中adb有什么功能的文章就介绍到这了,更多相关python adb功能详解内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python实现从本地摄像头和网络摄像头截取图片功能

    python实现从本地摄像头和网络摄像头截取图片功能

    这篇文章主要介绍了python实现从本地摄像头和网络摄像头截取图片功能 ,文中给大家提到了python , opencv 打开网络摄像头读取图像的实现代码,需要的朋友可以参考下
    2019-07-07
  • shelve  用来持久化任意的Python对象实例代码

    shelve 用来持久化任意的Python对象实例代码

    这篇文章主要介绍了shelve 用来持久化任意的Python对象实例代码的相关资料,需要的朋友可以参考下
    2016-10-10
  • Python中__str__()的妙用

    Python中__str__()的妙用

    本文主要介绍了Python中__str__()的妙用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • Python数据类型探索列表魔法世界

    Python数据类型探索列表魔法世界

    这篇文章主要为大家介绍了Python数据类型探索列表魔法世界,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • pygame实现飞机大战

    pygame实现飞机大战

    这篇文章主要为大家详细介绍了pygame实现飞机大战,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • 浅析Python 序列化与反序列化

    浅析Python 序列化与反序列化

    这篇文章主要介绍了Python 序列化与反序列化的相关资料,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-08-08
  • 基于Python编写一个ISBN查询工具

    基于Python编写一个ISBN查询工具

    这篇文章主要为大家详细介绍了如何利用Python编写一个简单的ISBN查询工具,可以用于图书管理、图书销售、图书收集和阅读等场景,需要的可以参考一下
    2023-05-05
  • 让文件路径提取变得更简单的Python Path库

    让文件路径提取变得更简单的Python Path库

    这里我们介绍 Python3 自带的库 Path,可以让我们使用更少的代码但是与之而来的是更高的效率,文中有非常详细的介绍及代码示例 ,需要的朋友可以参考下
    2021-05-05
  • Python实现推送百度链接的示例代码

    Python实现推送百度链接的示例代码

    有时为了提高搜索效率,也让搜索引擎更容易发现自己的文章,我们需要将文章链接推送到百度站长平台,起到快速收录的目的。本文将主要介绍如何通过Python实现这一功能,需要的可以参考一下
    2021-12-12
  • python+pyqt实现右下角弹出框

    python+pyqt实现右下角弹出框

    这篇文章主要为大家详细介绍了python+pyqt实现右下角弹出框,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10

最新评论