2016-09-01 10 views
12

Tôi cần chụp một số thông tin từ Nhật ký Modem Radio trong android nhưng tôi không biết cách chụp. Tôi đã tìm kiếm rất nhiều nhưng không tìm thấy gì cả. Khi tôi cần một số thông tin về baseband trong android, tôi phát hiện ra rằng phải nắm bắt nhật ký modem.Cách chụp Bản ghi Radio Modem trong Android

Xin cảm ơn trước.

Sửa

tôi thấy Read logcat programmatically within application để chụp logcat bản ghi trong đơn

Nhưng vì nó là adb log adb logcat -b radio Tôi không biết làm thế nào để nắm bắt log ADB trong ứng dụng. Như tôi thấy trong một bình luận tôi nghi ngờ nếu nó có thể hay không.

Cảm ơn

+0

Bạn đang tìm kiếm 'adb logcat -b radio'? – Robert

+0

Có, tôi có thể sử dụng nó trong ứng dụng của mình không? –

+0

Không. Bạn phải thực thi nó thông qua adb hoặc sử dụng quyền root trên các phiên bản Android hiện tại. – Robert

Trả lời

1

Hãy thử một cái gì đó như thế này:

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(); 
} 

Hãy nhớ rằng bạn có thể cần gốc để đọc logcat.

UPD: Ví dụ làm việc - https://github.com/sssemil/SampleLogcatApp

+0

Cảm ơn bạn @sssmeil, nó là tốt, nhưng khi tôi thử lệnh này 'adb logcat -b radio' thay vì của bạn, nó không hoạt động. Tôi nghĩ rằng đó là bởi vì các lệnh ADB không thể được thực hiện như thế này. Tôi có đúng không? –

+0

Bạn không cần phải thêm "adb" nếu bạn là "bên trong". Chỉ cần gõ "logcat -b radio". Không chắc chắn nếu cùng một lệnh hợp lệ cho logcat nội bộ nhưng bạn vẫn có thể thử. Và bạn cần quyền truy cập root để đọc logcat của các ứng dụng khác. – sssemil

+0

Lệnh này không hoạt động nếu không có adb. Khi tôi thử lệnh gốc, tôi nhận được lệnh "không thể liên kết" tcp: 5038 '" –

Các vấn đề liên quan