看板 AndroidDev 關於我們 聯絡資訊
各位好, 我的作業平台是windows,利用bat檔,將adb的標準輸出導入文字檔: adb -d get-state > log.txt adb -d shell "ping 127.0.0.1" > log.txt 如果adb daemon已經事先run起來,那麼這兩行就沒問題。log.txt如下: device PING 127.0.0.1 (127.0.0.1): 56 data bytes 64 bytes from 127.0.0.1: seq=0 ttl=64 time=0.458 ms 64 bytes from 127.0.0.1: seq=1 ttl=64 time=0.244 ms 64 bytes from 127.0.0.1: seq=2 ttl=64 time=0.213 ms 64 bytes from 127.0.0.1: seq=3 ttl=64 time=0.245 ms 反之若daemon還沒run,那第一行就會花比較久,且第二行ping就會執行失敗: 程序無法存取檔案,因為檔案正由另一個程序使用。 log.txt居然被daemon init給block住。內容如下: * daemon not running. starting it now on port 5037 * * daemon started successfully * device 我原先想透過C,不斷fopen(log.txt),檢查log中的一些狀態 如果發現"daemon not running",就把timeout延長 但這樣看來,接下來的訊息都無法繼續寫入log,因為被卡死 有人遇過嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.251.192.2
chris234:那第一行跟第二行中間睡個五秒應該就行了吧? 06/22 00:24
typepeter:何不在批次檔前面預先將adb daemon跑起來? 06/22 01:44
Leeng:謝謝兩位的意見 06/22 05:24