Кто-нибудь есть какие-либо предложения относительно того, как я могу увидеть полный текст ошибок, возникающих при попытке синхронизации моих папок K9?
Кажется , что нет никакого способа , чтобы увидеть эти сообщения журнала на устройстве без корневого доступа , но если у вас есть корневой доступ, есть несколько вариантов, либо предоставить необходимые разрешения на aLogcat или рассмотреть возможность использования ужасного хака TM для зрения их напрямую.
Просмотр файлов журнала на вашем ПК или рабочей станции через adb
Если вы можете подключить ваше устройство Android к ПК или рабочей станции, то вы можете получить доступ к журналам с помощью adb
команды.
Для того, чтобы сделать это на Windows, сначала вам нужно будет установить Android SDK (который потребует Java SE SDK ) и добавить android-sdk\tools
и android-sdk\platform-tools
к системному пути . Затем включите отладку по USB на Nexus 7, подключите его через USB и установите интерфейс Android Composite ADB из android-sdk\extras\google\usb_driver
(мне пришлось заставить Windows XP искать здесь, драйверы не найдутся сами по себе).
Более подробную информацию о том , как получить adb
и работает без полного Android SDK установки, или на компьютерах Mac или Linux, см отличным ответом Иззи к
Существует ли минимальная установка АБР?
Затем вы можете открыть оболочку (то есть cmd
окно) и запустить команду:
adb logcat k9:V *:S AndroidRuntime:E
- Я подтвердил, что это работает на моем некорневом Nexus 7.
Предоставить разрешения aLogcat
Если у вас есть root-доступ , вы можете рассмотреть вопрос о предоставлении READ_LOGS
разрешения aLogcat , как предложено в этом посте aLogcat / CatLog / Lumberjack не работает? Сделайте это ... на форуме xda-developers :
pm grant <pkg> android.permission.READ_LOGS
Чтобы предоставить это разрешение alogcat
или alogcat.donate
, вы можете использовать одну из следующих команд, в зависимости от того, используете ли вы версию для доната:
pm grant org.jtb.alogcat.donate android.permission.READ_LOGS
pm grant org.jtb.alogcat android.permission.READ_LOGS
Согласно одному сообщению на android-developers и заявке , разрешение разрешается после перезагрузки и обновления, но не при удалении / переустановке.
К сожалению, поскольку для этого требуется доступ с правами root, независимо от того, запускаю ли я это на устройстве или на своем компьютере (с префиксом adb shell
), я просто получаю сообщение об ошибке:
Neither user 12345 nor current process has android.permission.GRANT_REVOKE_PERMISSION
- Я не могу подтвердить, что это работает, так как мой Nexus 7 не был рутирован.
Подумайте об использовании ужасного хака ТМ
Если у вас есть root-доступ , вы можете рассмотреть возможность создания logcat
setuid root и запуска logcat из оболочки устройства, как предлагается в этом ответе на мой вопрос « Как получить доступ к файлам журнала Android на Nexus 7 без root-доступа? вопрос:
chmod 04755 /system/bin/logcat
logcat k9:V *:S AndroidRuntime:E
- Опять же, я не могу подтвердить, что это работает, и я бы, вероятно, использовал это только в качестве крайней меры , учитывая последствия для безопасности.
Почему сообщения журнала K9 не отображаются в программе просмотра журнала aLogcat ?
Могло ли что-то измениться в Jelly Bean, что привело к прекращению работы лесозаготовок K9?
Поскольку, по-видимому, aLogcat в целом замечательно показывает мало сообщений, изменилось ли что-то в Jelly Bean, что может означать, что он больше не может получить доступ ко всем сообщениям?
Похоже, это изменение в Jelly Bean, которое затрагивает все приложения, которые могут пытаться читать файлы журнала.
Очевидно, что разрешение READ_LOGS не предоставляется сторонним приложениям в Jelly Bean . Так как эта ссылка кажется ненадежной:
Сегодня я протестировал свое приложение на новейшем (api 16) эмуляторе, прежде чем выпустить его в Google Play. Оказалось, что Android сейчас отказывается предоставить это разрешение сторонним приложениям. Это странно, потому что я просмотрел все задокументированные изменения Jelly Bean и не смог найти ничего, что упоминало бы разрешение READ_LOGS.
и позже
Уровень защиты для READ_LOGS теперь «подпись | система | разработка». Новый синтаксис канала для ProtectionLevel также недокументирован (см. Http://code.google.com/p/android/issues/detail?id=34785 ).
Я подозреваю, что aLogcat видит только сообщения, сгенерированные самим собой, и это vm.
Для получения дополнительной информации см. Ответ Flow на мой вопрос. Насколько активным должен быть файл системного журнала Jelly Bean?
adb logcat
все еще может получить полный журнал Android на Jelly Bean.