ADB logcat命令在程式碼中的使用。

來源:互聯網
上載者:User
在PC端的ADB工具命令集中,有一個命令為:adb logcat 該命令主要是擷取目標機的輸出資訊。目標機輸出資訊分為以下幾個優先順序(以下按照從低到高順序排列):
  • V — Verbose (lowest priority)
  • D — Debug
  • I — Info
  • W — Warning
  • E — Error
  • F — Fatal
  • S — Silent (highest priority, on which nothing is ever printed)
adb logcat特別重要的一點是,它可以由使用者自訂過濾出所需要的資訊。例如:假如,我們的GPS調試資訊輸出格式為:$GPRMC,095358.071,V,,,,,,,140710,,,N*4A$GPGGA,095359.065,2232.6216,N,11355.4203,E,1,03,2.1,28.9,M,-2.6,M,,0000*72$GPGSA,A,2,11,19,08,,,,,,,,,,2.3,2.1,1.0*30$GPRMC,095359.065,A,2232.6216,N,11355.4203,E,11.37,17.74,140710,,,A*68輸出層級為I (即Info),那麼可以通過以下命令過濾出$GPRMC,$GPGGA,$GPGSAadb logcat $GPRMC:I $GPGGA:I $GPGSA:I *:S 需要做的是:用代碼直接調用上面的命令(可執行檔),然後把輸出重新導向,然後再進行分析。這樣做的好處是:1.不用分析、重編譯ADB的代碼2.不用整合ADB代碼到代碼工程 如果在VC開發環境下,標準輸出重新導向到記憶體沒有問題的話,準系統完成之時,即可將ADB通訊嵌入。以前知道在linux環境中實現多進程的情況下,用popen()函數以管道IO的方式調用可執行檔作為新的進程,新進程的輸出是可以重新導向的,但不知道Window下人的_popen()和_wpopen()能不能實現,又如何去解決阻塞的問題。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.