由于最近的工作需要频繁的操作adb端口,所以现将操作ADB命令的方法分享出来

其实原理非常简单,我本来不屑于写这篇文章,但是万一真的有人需要呢?

主要就是通过subprocess模块来调用cmd窗口,传入adb命令即可:

首先导入subprocess

import subprocess@staticmethoddef execute_adb_command(cmd, cwd=None):inputCmd = str(cmd)executeDir = pathlib.Path(BuiltIn().get_variable_value('${EXECDIR}')).parent / 'TestResources' / 'AdbEnv' if cwd is None else pathlib.Path(cwd)try:process = subprocess.Popen(inputCmd, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, cwd=executeDir)except Exception as err:raise AssertionError('Execute adb command: {:s} error,{:s}'.format(inputCmd, err))return process

这是封装的一个通用的执行ADB命令的方法,返回的是一个process对象。executeDir 参数是就是我电脑上ADB环境的路径;使用时需替换成你自己电脑上adb路径即可。

执行命令之后如何获得返回值?可以根据上面函数返回的process对象,用该对象的stdout().read().decode()方法即可获得执行adb命令的返回值。这里举一个获取device serial no的方法为例:

 def _get_device_serial_no(self):serialNo = []resp = _CommonKeywords.execute_adb_command('adb devices').stdout.read().decode()deviceInfo = str(resp).strip().split('\r\n')[1:]for info in deviceInfo:serialNo.append(info.split('\t')[0])return serialNo

综上,执行其他adb命令也可用上面介绍的方法;这个比较简单就不过多赘述了!

python 执行ADB命令(附源码)相关推荐

  1. cvtcolor python opencv_13行代码实现:Python实时视频采集(附源码)

    程序逻辑 Python实时视频采集程序主要流程共分为10个步骤,具体如下图所示: 流程描述: 库文件导入:导入程序依赖的python安装包: 摄像头管理对象创建和初始化:是对opencv VideoC ...

  2. android 代码发adb,Android预安装软件adb命令编译源码

    Android预安装软件&adb命令&编译源码 发布时间:2020-06-02 17:28:41 来源:51CTO 阅读:895 作者:年少的风 1.预安装软件: 将eclipse下的 ...

  3. 【Python】一文弄懂python装饰器(附源码例子)

    目录 前言 一.什么是装饰器 二.为什么要用装饰器 三.简单的装饰器 四.装饰器的语法糖@ 五.装饰器传参 六.带参数的装饰器 七.类装饰器 八.带参数的类装饰器 九.装饰器的顺序 总结 写在后面 前 ...

  4. 13行代码实现:Python实时视频采集(附源码)

    一.前言 本文是<人脸识别完整项目实战>系列博文第3部分:程序设计篇(Python版),第1节<Python实时视频采集程序设计>,本章内容系统介绍:基于Python+open ...

  5. python执行adb命令_Python实现对adb命令封装

    我就废话不多说了,大家还是直接看代码吧! #!/usr/bin/evn python # -*- coding:utf-8 -*- # FileName adbtools.py # Author: H ...

  6. Python实现物流管理系统(附源码)

    前言 基于Django实现的物流管理系统,工作时忙里偷闲写的练手项目. 特点 前端基于Bootstrap 4框架和AdminLTE框架. 使用MySQL作为数据库后端. 实现了运单录入.发车出库.到货 ...

  7. python编程选股_随笔吧量化投资选股的python程序实践(附源码)

    量化投资选股的python程序实践(附源码) 首先选取沪深股票市场,本人比较关注的12只股票: 000002 万科A,600566 济川药业,300051 三五互联,002039 黔源电力,60087 ...

  8. 100个Python实战项目(附源码),练完即可就业,从入门到进阶

    前言: "读"代码是不能给你带来任何收益的,正如"读书"一样,如果在读的时候你不琢磨,保管你读完仨月准忘了一大半.真正需要的是去"试"代码, ...

  9. python怎么写脚本执行adb命令_android – 如何使用Python执行adb命令?

    我想创建一个可用于执行 Android adb命令的python脚本. 有什么建议? 最佳答案 这个工具应该做的工作. 我不得不修改一些函数让它在Python 2.7上运行并使用子进程代替.这里修改了 ...

最新文章

  1. 终端输入参数:argparse和sys.argv[]的用法
  2. git学习小结(未完待续)
  3. JavaScript中闭包实现的私有属性的getter()和setter()方法
  4. php date.php 源码,date | php教程|php源码|php学习
  5. 预处理指令pragma常见用法集锦(#pragma once、#pragma comment和#pragma warning)
  6. python多维数据划分_【python+机器学习(4)】多维数据的特征选取(RidgeLasso)...
  7. ajax 与route的区别,如何在Ajax.RouteLink中使用片段?
  8. OpenvSwitch架构
  9. dp------最长公共子序列问题
  10. 集成学习——机器学习(周志华)
  11. chrome浏览器关闭百度热搜——AdBlock插件
  12. E1630加工散热孔:中兴路由器wifi6千兆E1630电信商企版Wi-Fi6路由器3000M全千兆
  13. 恒生UFX接口引用计数心得
  14. 【一日一logo_day_19】sos
  15. chemdraw如何改中文_教你如何快速自定义ChemDraw默认设置
  16. YouTube深度学习推荐
  17. 使用Jsoup技术获取`阿里拍卖`中法院拍卖的所有拍卖品
  18. Linux 安装cacti
  19. OpenStack 性能测试工具Rally使用
  20. Nginx 404 排查过程

热门文章

  1. 【实战记录】记录服务器遭到攻击全过程(Redis漏洞)
  2. 也玩MF,雅典娜4 SPI 接口驱动Nokia 5110 LCD
  3. SPA美女的50个细节
  4. 2023最新可用泛目录,苹果cms泛目录蜘蛛池
  5. java protostuff 好处_Java 序列化框架性能对比(kryo、hessian、java、protostuff)
  6. 强烈推荐,阿里开源的11个神级项目
  7. 段落首行缩进怎么弄 html,html5怎么开头空格?利用css实现首行缩进功能!
  8. 抖音直播带货需要注意什么;教你快速促进用户下单成交;丨国仁网络资讯
  9. vm虚拟机安装debian NAT模式 桥接模式 究竟是什么意思
  10. 一站式服务陪伴邮政储蓄银行一路同行