2016-09-01 7 views
12

나는 안드로이드에서 모뎀 라디오 로그에서 일부 정보를 캡처해야하지만 그것을 캡처하는 방법을 모르겠다. 많이 찾았지만 아무 것도 발견되지 않았습니다. 안드로이드에 baseband에 대한 정보가 필요하므로 모뎀 로그를 캡처해야합니다.안드로이드에서 모뎀 라디오 로그를 캡처하는 방법

미리 감사드립니다.

편집

내가 응용 프로그램

logcat 로그를 캡처 Read logcat programmatically within application을 발견하지만 ADB 로그 adb logcat -b radio 때문에 내가 응용 프로그램에서 ADB의 로그를 캡처하는 방법을 모르겠어요. 한 가지 의견에서 볼 수 있듯이 가능한지 의심 스럽습니다.

덕분에이 같은

+0

당신이'ADB 로그 캣 -b radio'을 찾고 있습니까? – Robert

+0

예, 내 애플리케이션에서 사용할 수 있습니까? –

+0

아니요. 현재 Android 버전에서 adb 또는 루트 권한을 사용하여 실행해야합니다. – Robert

답변

1

시도 뭔가 :

try { 
    Runtime rt = Runtime.getRuntime(); 
    //here you can add your params 
    String[] commands = {"logcat"}; 
    Process proc = rt.exec(commands); 

    BufferedReader stdInput = new BufferedReader(new 
      InputStreamReader(proc.getInputStream())); 

    BufferedReader stdError = new BufferedReader(new 
      InputStreamReader(proc.getErrorStream())); 

    String s; 
    while ((s = stdInput.readLine()) != null) { 
     //here is your logcat 
     Log.i("logcat", s); 
    } 

    while ((s = stdError.readLine()) != null) { 
     Log.e("logcat", s); 
    } 
} catch (IOException e) { 
    e.printStackTrace(); 
} 

당신이 로그 캣을 읽을 루트를해야합니다 유의하십시오.

UPD : 작동 예 - https://github.com/sssemil/SampleLogcatApp

+0

@sssmeil, 고맙습니다, 고맙지 만,이 명령 대신'adb logcat -b radio'를 쓰면 작동하지 않습니다. ADB 명령이 이와 같이 실행될 수 없기 때문이라고 생각합니다. 내가 맞습니까? –

+0

"내부"인 경우 "adb"를 추가 할 필요가 없습니다. 그냥 "logcat -b radio"를 입력하십시오. 동일한 명령이 내부 logcat에 유효한지 확실하지 않지만 여전히 시도 할 수 있습니다. 그리고 다른 앱의 logcat을 읽으려면 루트 액세스 권한이 필요합니다. – sssemil

+0

이 명령은 adb 없이는 작동하지 않습니다. "tcp : 5038 '" –