У меня есть приложение, которое доступно из Android Market. Некоторые пользователи попросили способ отладить, когда вещи не удаются как ожидалось. Я изучал добавление пункта меню, который отобразит вывод
Process mLogcatProc = null;
BufferedReader reader = null;
mLogcatProc = Runtime.getRuntime().exec(
new String[] {"logcat", "-d", "AndroidRuntime:E BDtN:V *:S" });
reader = new BufferedReader(new InputStreamReader (mLogcatProc.getInputStream()));
String line;
ArrayList listOfLogLines = new ArrayList();
while ((line = reader.readLine()) != null)
{
listOfLogLines.add(line);
}
В основном я извлекаю части Журнала.* строки, которые мое приложение писало и ошибки, которые бросал AndroidRuntime.
У меня есть рабочий прототип, который отобразит пользователю содержание части журнала, который я извлек в ListView.
Я должен буду добавить android.permission. READ_LOGS в файл AndroidManifest.xml для моего приложения, чтобы иметь доступ для чтения к журналу, и это, конечно, будет информацией, что с пользователем предложат перед установкой. И вопрос состоит в том, если это считают невежливым, опасным или в других отношениях необычным. Это помешает пользователям устанавливать?
Я бы не стал устанавливать приложение, которое делает это. Если вам нужны только ваши собственные журналы, ваше приложение может вести свой собственный буфер журнала, в который оно записывает данные вместе с системным журналом.
Хотя, возможно, вам это и не понадобится: http://android-developers.blogspot.com/2010/05/google-feedback-for-android.html