2010-06-30 41 views
9

我被告知它是一個命令行選項。但是Eclipse的運行!運行配置...!目標!附加仿真器的命令行選項欄已經忙於試圖將我的LogCat輸出到文件

-sdcard "C:\android-sdk-windows\tools\sd9m.img" 

如果我想寫類似

adb logcat -s MessageBox > "C:\Users\me\Documents\LogCatOutput.txt" 

然後我在哪裏寫出來,以及如何(即,語法是否正確)?我只需要輸出一個過濾的標籤,而不是詳細的。 (「MessageBox」是我的TAG,我不知道這個標點符號是否正確,甚至不在命令行的位置。)

感謝您的幫助。

回答

13

C:\ android-sdk-windows \ tools中應該有一個adb.exe文件。您可以從DOS命令提示符處手動調用此操作:

cd C:\android-sdk-windows\tools 
adb logcat -s MessageBox > "C:\Users\me\Documents\LogCatOutput.txt" 

在這種情況下,沒有必要費心使用Eclipse。

+1

該目錄中創建的文件爲空,爲空。我運行我的Android應用程序之前和之後。我不知道該怎麼辦。 – user225626 2010-06-30 23:10:30

+0

如果省略最後一部分(>「C:\ Users \ me \ Documents \ LogCatOutput.txt」),會發生什麼情況。你看到什麼了嗎? – 2010-06-30 23:16:20

+0

看到什麼地方? – user225626 2010-06-30 23:26:40

4

或者,如果您只想轉儲無論在logcat的緩衝區並退出本已立即(對腳本很有用),你可以指定-d選項:

$ adb logcat -d -s MessageBox > dump_file.txt 

確保「-D」是'logcat'後。

+0

您不必這樣做。該選項使logcatdump成爲日誌並退出。當你想轉儲已經記錄的內容時,它會很有用,但不會讓你繼續轉儲到文件。 – Shane 2012-09-30 19:07:30

0

上述答案的另一個有用的補充是過濾。我正在處理的應用程序會生成大量日誌記錄,因此使用篩選器進行日誌記錄會很有用。

adb -s MyDevice logcat | find /V ": T#" > d:\temp\logcat.txt 

或OSX/Linux的

adb -s MyDevice logcat | grep -v ": T#" > ~/logcat.txt 

這將開寫所有的logcat活動從包含任何行 「:T#」

find或也可使用的grep過濾器的基礎取得積極成果。然後我使用BareTail之類的軟件來顯示日益增長的日誌文件。