一、脚本代码(有错误,抓紧改进中)
import os
import datetime
date1=datetime.datetime.now().strftime('%Y%m%d')
date2=datetime.datetime.now().strftime('%H%M%S')
adb_dic = {
'1': 'adb devices',
'2': 'adb shell pm list packages',
'3': 'adb shell pm list packages -3',
'4': 'adb shell pm list packages -s',
'5': r'adb logcat -c && adb logcat >D:log\%s\log_%s.txt'%(date1,date2),
'6': r'adb logcat -v time >D:log\%s\log_%s.txt'%(date1,date2),
'7': '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 == '1':
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