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调试功 ...
随机推荐
- JAVA基础你需要知道的几点
一.关于变量 变量可以看成可操作的存储空间,有如下三种: 局部变量:定义在方法或语句块内部,必须先声明初始化才能使用:生命周期从声明位置开始到方法或语句块执行完毕. 成员变量(实例变量):定义在方法外 ...
- express高效入门教程(4)
4.静态文件 4.1.普通处理静态文件的方法 在./views/index.html文件中去引入另一个css文件index.css,index.css文件放在public/css目录下,目录结构是这样 ...
- Java中时间加减的比较
public class TestDate{ public static void main(String[] args){try{ Date date=new Date(); DateFormat ...
- 飞越面试官(二)--JUC
大家好!我是本号唯一官方指定没头屑的小便--怕屁林. JUC是什么东西?我相信很多经验尚浅的小伙伴部分都会为之一懵,我也是,三个字母都会读,连在一起就不知道在说什么,其实如果把它的全称写出来,“jav ...
- Django快速开发实践:Drf框架和xadmin配置指北
步骤 既然是快速开发,那废话不多说,直接说步骤: 安装Djagno 安装Django Rest Framework 定义models 定义Rest framework的serializers 定义Re ...
- Mysql中Union和OR性能对比
博客已搬家,更多内容查看https://liangyongrui.github.io/ Mysql中Union和OR性能对比 在leetcode上看到一篇文章,整理一下 参考:https://leet ...
- 洛谷P5774,可爱的动态规划。
如此可爱的动态规划见过么? 相信各位都非常喜欢动态规划,那我就写一道可爱的动态规划的题解吧. 题目:https://www.luogu.com.cn/problem/P5774 题意: 题意“挺明白” ...
- 云开发 VSCode 插件 Cloudbase Toolkit 的正确打开方式
什么是 Cloudbase Toolkit Tencent CloudBase Toolkit 是云开发的 VS Code(Visual Studio Code)插件.该插件可以让您更好地在本地进行云 ...
- PE文件格式详解(一)
PE文件格式介绍(一) 0x00 前言 PE文件是portable File Format(可移植文件)的简写,我们比较熟悉的DLL和exe文件都是PE文件.了解PE文件格式有助于加深对操作系统的理解 ...
- 开源导入导出库Magicodes.IE 多sheet导入教程
原文作者:tanyongzheng 多Sheet导入教程 说明 本教程主要说明如何使用Magicodes.IE.Excel完成多个Sheet数据的Excel导入. 要点 多个相同格式的Sheet数据导 ...