Windows(win7)で、USBを介して実際の電話をデバッグするlogcatログをPC上のファイルにダンプしたい。データの速度は、Eclipseで使用できる速度を超えています。フィルタリングされていないログ全体が必要です。
logcatコマンドラインの指示 によると、これは簡単なはずです
_logcat -f logfile.txt
_
私はWindowsコマンドラインで_adb logcat -f logfile.txt
_を使用しています
しかし、これは常にで応答します
_couldn't open output file: Read-only file system
_
ファイルシステムはnot読み取り専用です。ファイルの作成と書き込みは正常に機能し、_adb logcat > logfile.txt
_などの粗いリダイレクトも期待どおりに機能します。ログファイルへのパス全体を指定しても違いはありません。
Logcatの_-n
_および_-r
_オプションを使用したいのですが、動作させるには_-f
_が必要です。
助言がありますか?
ノート。この質問は buntuで尋ねられたもの に近いですが、Windowsで私に役立つ答えはありません。また、すでに試したがうまくいかないという提案もあります。 SOのほとんどの同様の参照は、単にヘルプページを引用し、_-f filename
_が機能するはずです。
有用なコメントと回答で最新の状態に保つために編集された質問。
残念ながら、logcat
の_-f
_オプションは、Androidデバイスのファイルシステムにしかファイルを作成できないようです開発ホストではありません。
裸のファイル名を指定すると、通常は書き込み可能ではないデバイスのルートディレクトリにファイルを作成しようとする可能性があります。
デバイス上にファイルを作成する場合は、書き込み可能な場所を指定します(適切なパスはデバイスとビルドによって異なりますが、現在の例を使用します)。
_adb logcat -f /mnt/sdcard/log.txt
_
さらに説明すると、実験では、_adb logcat
_を入力すると、_/system/bin/logcat
_と入力した場合と同様に、デバイス上の_adb Shell logcat
_プログラムが実行されることが示されています。 ADBはこのプログラムから標準出力またはエラー出力をホストマシンに簡単に戻すことができますが、デバイスで実行されているプログラムがADBに開発マシンでファイルを作成するよう要求するために使用できるデバイス側APIはありません。ファイルへの保存およびローテーション操作は、開発マシン上で実行されるADBの一部に実装することは可能ですが、それは現在の動作ではありません。
開発マシンでシェルリダイレクトを使用するbonitarunnerのソリューションは簡単な答えです。 _-r
_および_-n
_オプションと同様の制限および回転機能を実装するホスト側フィルタープログラムまたはスクリプトを考え出すことができるはずです。
adb logcat > logfile.txt
adb logcat *:E > logfile.txt
エラーのみをフィルタリングする場合。
これはMS Windows 7で動作します。
使用する adb logcat -d > log.txt
これにより、開発マシンにログが書き込まれます。