Как читать полные строки logcat с опциями -vtime с JellyBean?
У меня есть приложение на ICS (4.0.3), которое использует logcat с параметром -vtime. Он читает logcat, используя этот код:
try {
Process process = Runtime.getRuntime().exec("logcat -vtime -d");
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(process.getInputStream()));
String line = "";
while ((line = bufferedReader.readLine()) != null) {
... my stuff with this line...
}
catch (IOException e) {
}
Я использую "android.permission.READ_CALL_LOG" и "android.permission.READ_LOGS" в моем файле манифеста, и мне удается получить полный logcat.
Когда я использую этот код с JellyBean (4.1.1), мой буфер перехватывает только журнал приложения, а не полный журнал устройства.
Как я могу получить этот полный logcat? Это другое разрешение?
1 ответ
JellyBean (4.1.1) не предоставляет сторонним приложениям доступ к полной системной logcat. Приложение может видеть только собственные строки журнала. Я думаю, вам больше не нужно давать разрешение READ_LOGS в AndroidManifest.xml (любое приложение может регистрировать собственные строки).
https://groups.google.com/forum/?fromgroups=
Если вы все еще хотите прочитать полный logcat, вам нужно иметь рутированное устройство и предоставить суперпользователю доступ к вашему приложению.