前幾天跑某大公司面試,問我會不會在android真機調(diào)試的時候直接輸出到控制臺,當時有點懵逼,居然不知道控制臺是什么東西了,居然理解成了輸出到eclipse...我覺得程序沒有通過eclipse打包,怎么可能輸出到它里面去呢...等面試完了,回公司的路上才回過神來,那個黑框框不就是控制臺么?。?!
adb是androidSDK的一個工具,位置就在sdk目錄下的platform-tools文件夾下。
通過adb,不僅可以查看在Unity中自己設(shè)定的打印信息,包括系統(tǒng)信息和異常都能獲取到。是android開發(fā)的一個神器!
因為最近的某些游戲中的需求在搞android代碼,很多都需要再真機上測試,eclipse又不知道怎么看日志,所以就一直用adb
打開控制臺,輸入如下命令:
adb logcat -s Unity -d > xxx.txt
運行以后,unity中的所有輸出都會保存到目標文件中(注意填寫完整路徑)
其中Unity是過濾用的tag,unity中的所有輸出都是“Unity”
如果要按等級進行查看,比如說只看錯誤信息,并且直接顯示在控制臺,可以這樣寫
adb logcat -s Unity:e
要查看所有的錯誤信息,包括系統(tǒng)的,那就這樣寫
adb logcat -s *:e
下面是adb logcat的幫助信息:
octopus@octopus:~$ adb logcat --help Usage: logcat [options] [filterspecs] options include: -s Set default filter to silent. Like specifying filterspec '*:s' -f <filename> Log to file. Default to stdout -r [<kbytes>] Rotate log every kbytes. (16 if unspecified). Requires -f -n <count> Sets max number of rotated logs to <count>, default 4 -v <format> Sets the log print format, where <format> is one of: brief process tag thread raw time threadtime long -c clear (flush) the entire log and exit -d dump the log and then exit (don't block) -t <count> print only the most recent <count> lines (implies -d) -g get the size of the log's ring buffer and exit -b <buffer> Request alternate ring buffer, 'main', 'system', 'radio' or 'events'. Multiple -b parameters are allowed and the results are interleaved. The default is -b main -b system. -B output the log in binary filterspecs are a series of <tag>[:priority] where <tag> is a log component tag (or * for all) and priority is: V Verbose D Debug I Info W Warn E Error F Fatal S Silent (supress all output) '*' means '*:d' and <tag> by itself means <tag>:v If not specified on the commandline, filterspec is set from ANDROID_LOG_TAGS. If no filterspec is found, filter defaults to '*:I' If not specified with -v, format is set from ANDROID_PRINTF_LOG or defaults to "brief"
沒用過的可以嘗試一下,注意adb命令,需要配置環(huán)境變量,如果不配置環(huán)境變量,就直接寫adb.exe的完整路徑