2010-07-24 2 views
7

У меня есть приложение, доступное на Android Маркете. Некоторые пользователи попросили способ отладки, когда все не так, как ожидалось. Я искал в добавлении пункта меню, который будет отображаться выводомAndroid-приложение, использующее android.permission.READ_LOGS - это невежливо?


    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, чтобы мое приложение имело доступ для чтения к журналу, и это, конечно же, будет информация, которую пользователь будет запрашивать перед установкой. И вопрос в том, что это считается невежливым, опасным или иным образом необычным. Будет ли удержать пользователей от установки?

+1

Кажется, что на Android 4.1 Jelly Bean это разрешение не предоставляется несистемным приложениям. – Tom

ответ

8

Я бы не установил приложение, которое это сделало. Если все, что вы хотите, это ваши собственные журналы, ваше приложение может сохранить свой собственный журнал буфера, который он записывает вместе с системным журналом.

Вы можете даже не нужно делать это, хотя: http://android-developers.blogspot.com/2010/05/google-feedback-for-android.html

+1

Спасибо. Наверное, у меня было ощущение, что я делаю что-то не так. Я реализую свой собственный журнал. – Jbruntt

2

Не делайте ваши живые сложные и риска проблем с пользователем! java.util.logging также доступен на Android-устройстве (и даже отправлен на android.util.Log), а java.util.logging.Handler сделает все, что вы пожелаете.