Python操作adb命令脚本
一、脚本代码(有错误,抓紧改进中)
import os
import datetime date1=datetime.datetime.now().strftime('%Y%m%d')
date2=datetime.datetime.now().strftime('%H%M%S') adb_dic = {
'': 'adb devices',
'': 'adb shell pm list packages',
'': 'adb shell pm list packages -3',
'': 'adb shell pm list packages -s',
'': r'adb logcat -c && adb logcat >D:\log\%s\\log_%s.txt'%(date1,date2),
'': r'adb logcat -v time >D:\log\%s\\log_%s.txt'%(date1,date2),
'': 'adb kill-server',
} def adb_cmd(k):
adb = adb_dic[k]
os.system(adb) def adb_run():
while True:
print("""1.获取连接设备 2.查看应用列表 3.查看第三方应用列表 4.查看系统应用列表 5.抓日志 6.time格式日志
7.停止日志""")
choice = input('请输入序号选择您需要的功能:').strip()
if choice not in adb_dic: continue # 如果输入的不在里面,返回循环
adb_cmd(choice) # 加括号就可执行 def run():
while True:
print("""
1.adb命令
2.其他1 """)
choice = input('请选择:').strip()
if choice == '':
adb_run()
else:
print('输入的指令有误')
if __name__ == '__main__': #
run() # 程序启动
二、adb logcat 命令详解
#显示全部日志
adb logcat #筛选日志
adb logcat -s [TAG] [TAG] [TAG] [TAG]... #筛选TAG是Wallet和QPayAdapter的日志
adb logcat | grep [TAG] #筛选以Wallet开头的TAG日志
adb logcat [TAG]:S #过滤掉TAG是Wallet的日志 #保存日志到文件
adb logcat > ~/Desktop/log.txt
adb logcat -v time > ./a.log #日志输出到文件,-v表示输出格式
adb logcat -v time | tee ./a.log #日志输出到文件和屏幕 -d 将日志显示在控制台后退出
-c 清理已存在的日志
-f <filename> 将日志输出到文件
-v <format>设置日志输入格式控制输出字段,默认的是brief格式
brief — 显示优先级/标记和原始进程的PID (默认格式)
process — 仅显示进程PID
tag — 仅显示优先级/标记
thread — 仅显示进程:线程和优先级/标记
raw — 显示原始的日志信息,没有其他的元数据字段
time — 显示日期,调用时间,优先级/标记,PID
long —显示所有的元数据字段并且用空行分隔消息内容
三、python中的subprocess.Popen()使用详解
https://www.cnblogs.com/lgj8/p/12132829.html
Python操作adb命令脚本的更多相关文章
- pyadb关于python操作adb的资料
3.最后adb命令由于是android的原生操作命令,支持实现的功能非常多.这里举几个pyapp里实现的功能例子:获取,修改手机当前使用的输入法(adb shell ime list),获取当前手机界 ...
- python操作adb代码
adb命令的练习 #!/usr/bin/env python # encoding: utf-8 import os import re nameplt=re.compile("packag ...
- [adb 学习篇] python将adb命令集合到一个工具上
https://testerhome.com/topics/6938 qzhi的更全面,不过意思是一样的,另外补充一个开源的https://github.com/264768502/adb_wrapp ...
- python操作redis命令
Python操作redis from redis import StrictRedis, ConnectionPoolredis_url="redis://:xxxx@112.27.10.1 ...
- python调用adb命令进行手机操作
Python中执行cmd命令可以用到os和subprocess两个模块. 区别在于os是阻塞式的,subprocess是非阻塞式的,所以一般我们使用subprocess是比较适合的. 接下来我先举一个 ...
- python操作excel实用脚本
import xlrd data = xlrd.open_workbook('/home/ppe/workspace/pythonwp/tianranqi_org.xls') table = data ...
- appium+python自动化-adb shell模拟点击事件(input tap)
前言 appium有时候定位一个元素很难定位到,或者说明明定位到这个元素了,却无法点击,这个时候该怎么办呢? 求助大神是没用的,点击不了就是点击不了,appium不是万能的,这个时候应该转换思路,换其 ...
- python操作MySQL数据库报错问题解决
编写好Python操作数据库的脚本后,运行报错如下: 报错1:“AttributeError: 'NoneType' object has no attribute 'encoding'” 解决办法: ...
- python借助ADB工具实现自动化操作手机
核心工具——ADB工具 adb工具用于连接Android手机和PC端,我们借助adb工具,就可以通过命令行对手机进行相应的操作 注意:若要通过adb操作手机,需打开手机的开发者模式,并打开USB调试功 ...
随机推荐
- Kubernetes 中 搭建 EFK 日志搜索中心
简介 Elastic 官方已经发布了Elasticsearch Operator ,简化了 elasticsearch 以及 kibana的部署与升级,结合 fluentd-kubernetes-da ...
- Oracle 存储过程中的临时表数据自动清空
问题叙述: 用 EXECUTE IMMEDIATE 动态往临时表插入数据,跟踪发现插入临时表后数据会立马清空,按理说等存储过程执行完才会清空临时表才对,现在是执行插入语句后下一步验证就发现临时表就没有 ...
- HDU 5969 最大的位或【贪心】
题目 B君和G君聊天的时候想到了如下的问题. 给定自然数l和r ,选取2个整数x,y满足l <= x <= y <= r ,使得x|y最大. 其中|表示按位或,即C. C++. Ja ...
- 策略模式、策略模式与Spring的碰撞
策略模式是GoF23种设计模式中比较简单的了,也是常用的设计模式之一,今天我们就来看看策略模式. 实际案例 我工作第三年的时候,重构旅游路线的机票查询模块,旅游路线分为四种情况: 如果A地-B地往返都 ...
- windows 下搭建 MQTT 服务
1.首先搭建起MQTT服务 1.1安装mosquitto,mosquitto是开源的MQTT代理服务器,它的Windows安装包地址:https://mosquitto.org/download/ 1 ...
- C#实现快速查找(递归,非递归)
原文件: http://pan.baidu.com/share/link?shareid=2838344856&uk=3912660076 我英语很烂...哎,我正在努力... 效果图:
- (私人收藏)精美PPT模板
精美PPT模板 https://pan.baidu.com/s/1vsRnX5h7t3MZ7qdrFvuI1wsucr
- P1220 关路灯——区间dp
P1220 关路灯 题目描述 某一村庄在一条路线上安装了 \(n\) 盏路灯,每盏灯的功率有大有小(即同一段时间内消耗的电量有多有少).老张就住在这条路中间某一路灯旁,他有一项工作就是每天早上天亮时一 ...
- day48 work
1 navicat自己玩一玩 2 练习题一定要搞懂 照着我的思路一遍遍的看敲 3 熟悉pymysql的使用 4 sql注入产生的原因和解决方法 了解 5 思考:如何结合mysql实现用户的注册和登录功 ...
- day13 作业
目录 1.编写文件修改功能,调用函数时,传入三个参数(修改的文件路径,要修改的内容,修改后的内容)既可完成文件的修改 2.编写tail工具 3.编写登录功能 4.编写注册功能 选做题:编写ATM程序实 ...