一、腳本代碼(有錯誤,抓緊改進中)
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 —顯示所有的元數據字段並且用空行分隔消息內容