0
私は、次のコードを使用してAndroidアプリケーションからメインログを抽出することができました:私は、イベントログを抽出するために、同じ方法を使用しようとすると、それは動作しません、しかしAndroidアプリケーションからイベントログを取り出す方法は?
String[] LOGCAT_CMD = new String[] {
"logcat",
"-d",
"MyApplication:E",
"*:S"};
Process logcatProc = null;
try {
logcatProc = Runtime.getRuntime().exec(LOGCAT_CMD);
} catch (IOException e) {
e.printStackTrace();
return "";
}
String lineSeparator = System.getProperty("line.separator");
StringBuilder strOutput = new StringBuilder();
try {
InputStream ireader = logcatProc.getInputStream();
int temp;
while ((temp = ireader.read()) != -1){
while (temp != 64){
strOutput.append((char) temp);
temp = ireader.read();
}
strOutput.append(lineSeparator);
line = strOutput.toString();
writeLine(line);
strOutput = new StringBuilder();
}
を。問題が何であるか分かりませんが、LOGCAT_CMDを次のように変更してアプリケーションを実行すると、ireader.read()は直ちに-1を返して終了します。
String[] LOGCAT_CMD = new String[] {
"logcat",
"-b",
"events",
"-d",
"[1]:I",
"*:S"
};
誰かが私を助けてくれますか?
私はこれが私の必要と考えるものではありません。 LOGCAT_CMDを "logcat -b main -d"に設定するとうまくいきます。しかし、 "logcat -b events -d"または "logcat -b radio -d"を試すと、InputStream ireaderは直ちに-1を返して終了します。 – Help