안드로이드 폰에서 로그정보를 핸도폰 내에서 가지고오는 소스입니다 ㅠ

그런데 .. 자꾸 제가 의도한데로 안되네요.

 

1. 평상시에 이클립스에서 표시되던 정보들외에  달빅이라는 버추얼머신 테그를 가진 제가 원하지 않는 로그정보까지 표시가되네요.

 

---> 정상적인 로그정보

정상적인 log.PNG  

 

 

 

--> 비정상적인 로그가 뜰경우

비정상적인 Log.PNG

 

 

2. 로그정보에서 필터링을해서 특정 테그를 가진 로그를 찾는걸 하는데. 이게 정상적으로 찾아지지 않습니다.

 

---> 웹브라우저를 실행했을때 현재 해당페이지 url주소가 표시됨니다.

 

 

--> 동영상을 실행시켰을때 해당 동영상에 path주소가 표시됨니다.

 

 

 

그래서 이런 내용들을 제가 안드로이드 내부에서 로그정보를 받아오기위해서

소스를 작성했는제. 1번에서처럼 정상적으로 로그정보를 받아오지를 못하게됨니다.

왜그런걸까요??

그리고 2번째는 저기 테그에 나와있는 mediaPlayer-JNI나 webkit으로 로그정보를 필터링하는데

이것또한 그렇게 원하는대로 나오지를 않네요.

 

 

 

startThread()쓰레드 시작
 public synchronized void startThread() {
  Toast.makeText(getApplicationContext(), "스타트스레드", Toast.LENGTH_SHORT)
    .show();
  if (runner == null) {
   runner = new Thread(null, backgrounSendData, "send_data");
   runner.start();
   Toast.makeText(getApplicationContext(), "스타트 밑", Toast.LENGTH_SHORT)
     .show();
startThread()쓰레드 시작
  }
 }

Thread runner
  private Runnable backgrounSendData = new Runnable() {
  @Override
  public void run() {
Thread runner
   try {
Thread runner
    // Thread.sleep(5000);
    mainThread();
Thread runner
   } catch (Exception e) {
Thread runner
    // TODO: handle exception
   }
Thread runner
  }
 };

mainThread(), getAdbLogCat();
 public void mainThread() {
   getAdbLogCat();
 }
mainThread(), getAdbLogCat();
public static void getAdbLogCat() {
  StringBuilder log = new StringBuilder();
     String logView = "";
     String line = ""; 
     int counterForDebug = 0;
     
     int idx = 0;
     
     Process proc = null;
     try {
      proc = Runtime.getRuntime().exec("logcat");
      BufferedReader reader = new BufferedReader(new InputStreamReader(proc.getInputStream()));    
mainThread(), getAdbLogCat();
  while ((line = reader.readLine()) != null) {
       counterForDebug++;
       log.append(line);
       log.append(System.getProperty("line.separator"));
       //Log.d("log",""+log);
       if((log.toString().indexOf("MediaPlayer-JNI")) != -1){
        /*idx = log.toString().indexOf("webkit");
        logView = log.substring(idx);
        */
        Log.d("toy", "MediaPlayer-JNI찾았다."/*logView*/);
        Log.d("toy",log.toString());
        break;
       }
        
      } // while
     /* log.insert(0,"총 " + counterForDebug + "회 수행했습니다."
          + System.getProperty("line.separator"));*/
     } catch (IOException e) {
      e.printStackTrace();
     } // try-catch 
 }