版權所有 foruok ,如需轉載敬請注明出處(http://blog.csdn.net/foruok)。
如果你在目标 android 裝置上運作了 qt on android 應用,你可能希望看到程式輸出的日志資訊。 android sdk 中有 adb 工具,當你連接配接了目标裝置,可以使用 adb logcat 檢視 android 裝置上應用輸出的日志。
先介紹一下 adb 工具的使用。一般我常用下列指令:
adb logcat ,檢視手機或其他裝置上輸出的所有日志
adb logcat -v time ,讓日志帶時間資訊
adb logcat -v time -s tag ,隻顯示指定标簽的日志資訊,同時顯示日志時間。比如 adb logcat -v time -s qnote ,隻顯示标簽為 qnote 的日志資訊;如果你想同時過濾多個标簽,可以用英文半形逗號分隔标簽,如 adb logcat -v time -s qnote,test 。
為了把日志導入 android 系統的日志系統(一個環形記憶體日志系統),我寫了一個輔助函數,友善大家使用。
先看頭檔案 qdebug2logcat.h :
很簡單,我聲明了一個函數 installlogcatmessagehandler ,如果沒有定義 android 宏,它就是一個空宏,什麼也不幹;否則就安裝一個消息過濾器,接管 qt 輸出的消息,轉發到 android 的日志系統中。
看源檔案 qdebug2logcat.cpp :
實作也很簡單,調用 qinstallmessagehandler 把 messageoutput2logcat 設定為 qt 應用的預設消息處理器。 messageoutput2logcat 函數則将 qt 的調試消息級别映射到 android 的日志級别上并調用 __android_log_write() 函數将日志資訊寫入 android 日志系統。
你可以直接使用這兩個檔案,加入到你的項目中即可。然後在 main() 函數前包含 qdebug2logcat.h 頭檔案,在 main() 函數體第一行加入下面的代碼:
好了,一切就緒了。
版權所有 foruok ,如需轉載敬請注明出處(http://blog.csdn.net/foruok)。
我翻譯的大神 bogdan vatra 的 qt on android 系列文章:
我的關于 qt on android 的系列文章: