檢視stdout 和stderr
在預設狀態下,android系統有stdout 和 stderr (system.out 和system.err )輸出到/dev/null ,在執行dalvik vm的程序中,有乙個系統可以備份日誌檔案。在這種情況下,系統會用stdout 和stderr 和優先順序 i.來記錄日誌資訊
通過這種方法指定輸出的路徑,停止執行的模擬器/裝置,然後通過用 setprop 命令遠端輸入日誌
$ adb shell stop$ adb shell setprop log.redirect-stdio true$ adb shell start
系統直到你關閉模擬器/裝置前設定會一直保留,可以通過新增/data/local.prop 可以使用模擬器/裝置上的預設設定
logcat命令列表
option description
-b < buffer> 載入乙個可使用的日誌緩衝區供檢視,比如event 和radio . 預設值是main 。具體檢視viewing alternative log buffers.
-c 清楚螢幕上的日誌.
-d 輸出日誌到螢幕上.
-f < filename> 指定輸出日誌資訊的< filename> ,預設是stdout .
-g 輸出指定的日誌緩衝區,輸出後退出.
-n android 除錯橋(adb)是多種用途的工具,該工具可以幫助你你管理裝置或模擬器 的狀態。
可以通過下列幾種方法加入adb:
* 在裝置上執行shell命令
* 通過埠**來管理模擬器或裝置
* 從模擬器或裝置上拷貝來或拷貝走檔案
下面對adb進行了介紹並描述了常見的使用.
contents
概要發出adb命令
查詢模擬器/裝置例項
給特定的模擬器/裝置例項傳送命令
安裝軟體
**埠
從模擬器/裝置中拷入或拷出檔案
adb命令列表
啟動shell命令
通過遠端shell端執行sqllite3連線資料庫
ui/軟體 試驗程式 monkey
其它的shell命令
啟用logcat日誌
使用logcat命令
過濾日誌輸出
控制日誌輸出格式
檢視可用日誌緩衝區
檢視stdout 和stderr
logcat命令列表
停止adb服務
概要android 除錯系統是乙個面對客戶服務系統,包括三個組成部分:
* 乙個在你用於開發程式的電腦上執行的客戶端。你可以通過shell端使用adb命令啟動客戶端。 其他android工具比如說adt外掛程式和ddms同樣可以產生adb客戶端.
* 在你用於發的機器上作為後台程序執行的伺服器。該伺服器負責管理客戶端與執行於模擬器或裝置上的adb守護程式(daemon)之間的通訊.
* 乙個以後臺程序的形式執行於模擬器或裝置上的守護程式(daemon).
當你啟動乙個adb客戶端,客戶端首先確認是否已有乙個adb服務程序在執行。如果沒有,則啟動服務程序。當伺服器執行, adb伺服器就會繫結本地的tcp埠5037並監聽adb客戶端發來的命令,—所有的adb客戶端都是用埠 5037與adb伺服器對話的.
接著伺服器將所有執行中的模擬器或裝置例項建立連線。它通過掃瞄所有5555到5585範圍內的奇數埠來定位所有的模擬器或裝置。一旦伺服器找到 了adb守護程式,它將建立乙個到該埠的連線。請注意任何模擬器或裝置例項會取得兩個連續的埠——乙個偶數埠用來相應控制台的連線,和乙個奇數埠 用來響應adb連線。比如說:
模擬器1,控制台:埠5554
模擬器1,adb埠5555
控制台:埠 5556
adb埠5557...
如上所示,模擬器例項通過5555埠連線adb,就如同使用5554埠連線控制台一樣.
一旦伺服器與所有模擬器例項建立連線,就可以使用adb命令控制和訪問該例項。因為伺服器管理模擬器/裝置例項的連線,和控制處理從來自多個adb客戶端來的命令,你可以通過任何客戶端(或指令碼)來控制任何模擬器或裝置例項.
以下的部分描述通過命令使用adb和管理模擬器/裝置的狀態。要注意的是如果你用,裝有adt外掛程式的eclipse開發android程式,你就不 需要通過命令列使用adb。adt外掛程式已經透明的把adb整合到eclipse中了,當然,如果必要的話你也可以仍然直接使用adb,比如說除錯.
發出adb命令
發出android命令: 你可以在你的開發機上的命令列或指令碼上發布android命令,使用方法:
adb [-d|-e|-s < serialnumber>] < command>
當你發出乙個命令,系統啟用android客戶端。客戶端並不與模擬器例項相關,所以如果雙伺服器/裝置是執行中的,你需要用 -d 選項去為應被控制的命令確定目標例項。關於使用這個選項的更多資訊,可以檢視模擬器/裝置例項術語控制命令.
Android 深入研究adb(一)
android 除錯橋 adb 是多種用途的工具,該工具可以幫助你你管理裝置或模擬器 的狀態。可以通過下列幾種方法加入adb 在裝置上執行shell命令 通過埠 來管理模擬器或裝置 從模擬器或裝置上拷貝來或拷貝走檔案 下面對adb進行了介紹並描述了常見的使用.contents 概要發出adb命令 查...
Android 深入研究adb(六)
查詢模擬器 裝置例項 在發布adb命令之前,有必要知道什麼樣的模擬器 裝置例項與adb伺服器是相連的。可以通過使用devices 命令來得到一系列相關聯的模擬器 裝置 adb devices 作為回應,adb為每個例項都制定了相應的狀態資訊 序列號 由adb建立的乙個字串,這個字串通過自己的控制埠 ...
Android 深入研究adb(九)
當啟動了logcat 你可以通過 v 選項來指定輸出格式 adb logcat v format 下面是用 thread 來產生的日誌格式 adb logcat v thread 需要注意的是你只能 v 選項來規定輸出格式 option.檢視可用日誌緩衝區 android日誌系統有迴圈緩衝區,並不是...