Мне удалось извлечь основные журналы из приложения 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"
};
Может ли кто-нибудь помочь мне?