0
나는 다음과 같은 코드를 사용하여 안드로이드 응용 프로그램에서 메인 로그를 추출 할 수 있었다 : 나는 이벤트 로그를 추출하기 위해 같은 방법을 사용하려고하면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