查看手機中所有包命令:adb shell pm list packages
1,先根據包名,找到對應的進程號:(-A 為什么加呢,親測不加的話,我實際操作的app不能獲取到進程信息,各種百度后的結果)

第一行是主進程, PID=1329是對應的進程號了
另外:查找指定設備上某個app的進程號:


2. 根據上面的進程號,來查詢改進程下的所有級別的log了

3. 如果我只想獲取到該應用中,V級別的錯誤日志信息的話,可以用下面的命令操作: 加上篩選級別:“ *:W ”
adb logcat *:W | findstr 1329

【延申:
過濾規則
有兩種規則,一種是按照日志級別過濾,一種是按照日志中的tag過濾,當然會有混合日志和tag在一起過濾
過濾格式:
adb logcat <tag>[:priority]
tag表示標簽,priority輸出的級別,注意如果要是要根據級別查看時記得要tag一定要給,如果沒有指定,那個tag哪里輸入*號就行了
tag級別過濾:
用這個過濾首先要知道手機上的tag,可以用這個命令查看手機日志的tag
adb logcat -v tag
輸出后格式會是:<priority>/<tag>: <message>
但是在日志中的tag究竟是什么意思呢?標簽,顧名思義,但是還是不明白,后面明白再來看這快
現在我要知道的就是tag如何過濾日志,可以使用下面的命令:
adb logcat ActivityManager:I
發現tag過濾並沒有生效,為啥??
而網上下面這個命令卻是生效的:
adb logcat ActivityManager:I PowerManagerService:D *:S
日志級別過濾:
默認級別為V,輸出人日志最低,日志級別最低
D —— Debug
I —— Info
W —— Warning
E —— Error
F —— Fatal 致命
S —— Silent(最高,啥也不輸出)
實例:比如想要查看手機的級別為錯誤的日志
adb logcat *:E(不區分大小寫)
】

針對上面中文亂碼問題,解決如下:
在當前命令行下輸入 chcp 65001,按回車鍵。這時,當前代碼頁使用的就是UTF-8編碼了!
再次執行獲取日志命令就正常了!
