zoukankan      html  css  js  c++  java
  • Python操作adb命令脚本

    一、脚本代码(有错误,抓紧改进中)

    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

  • 相关阅读:
    freemarker报错之十一
    freemarker定义一个连续的序列
    freemarker报错之十
    freemarker之数组
    解决linux环境下nohup: redirecting stderr to stdout问题
    如何查看Linux操作系统版本?
    log file sync
    freemarker中的round、floor和ceiling数字的舍入处理
    freemarker中的split字符串分割
    freemarker中的left_pad和right_pad
  • 原文地址:https://www.cnblogs.com/sanqiansi/p/13173920.html
Copyright © 2011-2022 走看看