Комментарии не для расширенного обсуждения; этот разговор был перемещен в чат .
Мэтью Читал
Ответы:
59
Android 4.1 и новее
Предпочтительным способом является загрузка SDK и его использование adb logcat(требуется активировать «параметры разработчика» на устройстве).
Существуют приложения, доступные для просмотра полного системного журнала, однако они работают только на корневых устройствах или требуют ручного запуска команды, adbчтобы заставить их работать. Для получения дополнительной информации см. Этот вопрос.
Android 4.0 и старше
Вы можете либо загрузить SDK и использовать, adb logcatлибо получить Logcat Extrem из Google Play Store, где журнал отображается прямо на вашем телефоне.
В качестве альтернативы вы можете использовать эмулятор терминала с командой «logcat> /sdcard/log.txt» для непрерывной записи журнала в файл на SD-карте. Это может помочь выяснить проблемы со случайными перезагрузками.
Чахк
Хорошая точка зрения. Некоторые телефоны имеют тенденцию спамить журнал, полный тривиальной информации, поэтому, если вы хотите свести к минимуму размер файлов и данных, которые нужно просмотреть, ознакомьтесь с разделом «Фильтрация вывода журнала» на developer.android.com/guide/developing/tools/adb.html. #logcat
onik
LogCat Apps больше не работает с JellyBean. Google изменил API Android, приложения больше не имеют права читать журналы из других приложений, кроме своих собственных.
Logcat Extreme - отличное приложение для просмотра журнала
Arpit Patel
57
Расположение файла журнала
Существует несколько каталогов, в которых могут отображаться журналы (в том числе журналы о сбоях) - не все они стандартизированы (то есть некоторые могут быть привязаны к ПЗУ).
/data/anr: Некоторые файлы трассировки, похоже, попадают сюда (Dalvik записывает трассировки стека здесь в ANR, то есть «Приложение не отвечает» или «Force-Close»; см., Например, выдержки из журнала здесь )
/data/dontpanicкажется стандартным местоположением (AOSP) и содержит некоторые журналы сбоев, включая трассировки (см., например, viaForensics и StackOverflow )
/data/kernelpanics это другое место - у меня не было никакой «паники ядра» на моих устройствах Android, я пока не видел там никакого контента.
/data/panic/panic_daemon.configможет указывать на другие места , сконфигурированных - на моем Droid 2 он упоминает/sdcard/panic_data/
упомянутый Droid 2 также имеет /data/panicreportsкаталог (здесь пусто)
/data/tombstonesможет содержать несколько tombstone_nnфайлов ( nnбудучи серийным, увеличивается с каждым новым файлом). Поскольку надгробные плиты размещаются для мертвых, это делается здесь для «процессов, погибших в результате аварии» (т.е. сбой) - и это то, что называется «дампами ядра» в системах Linux / Unix. Однако не все приложения создают надгробия; это должно быть явно разрешено разработчиком (см. Отладка дампов ядра Android ).
Может быть еще несколько мест, которые избежали меня; но поскольку большая часть записи ведется tmpfs, эти данные теряются при перезагрузке и не соответствуют вопросу OP.
Журнал команд для использования с терминальным приложением (или adb)
Несколько команд могут получить тонны информации. Для большинства из них рекомендуется перенаправить их в файл ( > filename.ext) или передать через фильтр ( | grep search-for-this):
Журнал ядра
Следующее работает без рута:
$ dmesg
<6>[82839.126586] PM: Syncing filesystems ... done.
<7>[82839.189056] PM: Preparing system for mem sleep
<4>[82839.189361] Freezing user space processes ... (elapsed 0.05 seconds) done.
<4>[82839.240661] Freezing remaining freezable tasks ... (elapsed 0.00 seconds) done.
<snip>
Logcat
Здесь вы можете, например, указать, в какой области вы заинтересованы - радио, события ...
Смотрите мой комментарий выше, касающийся приложений LogCat.
Леандрос
2
Я обновил вопрос. Обратите внимание, что информация об относительной позиции (например, «выше») может легко устареть, поскольку порядок ответов может меняться со временем.
Поток
3
Метод без рута, который работает даже с новыми версиями Android:
Предпосылки:
Linux, Windows или Mac
USB-кабель для вашего устройства
Android-устройство
Инструкции:
Установите драйвер устройства для использования ADB. Все, что вам нужно, вы найдете здесь
Скачайте исполняемый файл adb для вашей ОС. Это часть Android SDK, но вы можете найти исполняемый файл adb по отдельности.
Откройте командную строку (windows) или терминал (linux / mac). Как это сделать: В Windows: windows + r> введите «cmd» (без кавычек)> нажмите enter | В Linux: вы не знаете, как открыть терминал? LOL | На Mac: введите TerminalSpotlight и откройте его
CD в каталог, где находится исполняемый файл adb. В Windows: перейдите в каталог, в который вы скачали исполняемый файл adb, Shift + щелчок правой кнопкой мыши и выберите «Открыть консоль» (или аналогичный) | В Linux / Mac: щелкните правой кнопкой мыши в каталоге и выберите «Открыть терминал здесь» (или просто CD в каталог)
Введите свой cmd / терминал: adb devicesчтобы убедиться, что ваше устройство правильно подключено.
Если ваше устройство выбрано правильно, введите, adb logcatчтобы показать могучий и волшебный logcat aka stacktrace.
Воспроизведите вашу ошибку (или что-то еще) на вашем устройстве.
Сразу после этого вставьте все окно cmd / терминала в сервис вставки, например http://pastebin.com/, и отправьте его нам.
Бесплатное приложение SysInfo ( Project Page ) будет отображать системные журналы, а также архивировать полный системный отчет для отправки по электронной почте, в Dropbox, NFC и т. Д. Не говоря уже о множестве другой интересной информации о системе.
(Да, я опоздал почти на год, но об этом нужно упомянуть).
JRobert
Обе ссылки битые сейчас.
jk7
Вторая ссылка (страница проекта) по-прежнему работает для меня, но последние записи в ней относятся к 2010 году. Android с тех пор изменился с тех пор, что сильно нарушил функциональность Sysinfo.
У меня никогда не было такой папки на моем телефоне ... это специфично для производителя или устройства?
Мэтью Прочитал
2
Из Logcat - CyanogenMod Wiki : Вы можете использовать волшебную комбинацию клавиш для создания файла отчета об ошибках в / sdcard / bugreports. Так что это, кажется, а) немного специфично (возможно, для CM), и б) не ответ на вопрос, так как ОП ищет «автоматически сгенерированные».
Ответы:
Android 4.1 и новее
Предпочтительным способом является загрузка SDK и его использование
adb logcat
(требуется активировать «параметры разработчика» на устройстве).Существуют приложения, доступные для просмотра полного системного журнала, однако они работают только на корневых устройствах или требуют ручного запуска команды,
adb
чтобы заставить их работать. Для получения дополнительной информации см. Этот вопрос.Android 4.0 и старше
Вы можете либо загрузить SDK и использовать,
adb logcat
либо получить Logcat Extrem из Google Play Store, где журнал отображается прямо на вашем телефоне.источник
Расположение файла журнала
Существует несколько каталогов, в которых могут отображаться журналы (в том числе журналы о сбоях) - не все они стандартизированы (то есть некоторые могут быть привязаны к ПЗУ).
/data/anr
: Некоторые файлы трассировки, похоже, попадают сюда (Dalvik записывает трассировки стека здесь в ANR, то есть «Приложение не отвечает» или «Force-Close»; см., Например, выдержки из журнала здесь )/data/dontpanic
кажется стандартным местоположением (AOSP) и содержит некоторые журналы сбоев, включая трассировки (см., например, viaForensics и StackOverflow )/data/kernelpanics
это другое место - у меня не было никакой «паники ядра» на моих устройствах Android, я пока не видел там никакого контента./data/panic/panic_daemon.config
может указывать на другие места , сконфигурированных - на моем Droid 2 он упоминает/sdcard/panic_data/
/data/panicreports
каталог (здесь пусто)/data/tombstones
может содержать несколькоtombstone_nn
файлов (nn
будучи серийным, увеличивается с каждым новым файлом). Поскольку надгробные плиты размещаются для мертвых, это делается здесь для «процессов, погибших в результате аварии» (т.е. сбой) - и это то, что называется «дампами ядра» в системах Linux / Unix. Однако не все приложения создают надгробия; это должно быть явно разрешено разработчиком (см. Отладка дампов ядра Android ).Может быть еще несколько мест, которые избежали меня; но поскольку большая часть записи ведется
tmpfs
, эти данные теряются при перезагрузке и не соответствуют вопросу OP.Журнал команд для использования с терминальным приложением (или adb)
Несколько команд могут получить тонны информации. Для большинства из них рекомендуется перенаправить их в файл (
> filename.ext
) или передать через фильтр (| grep search-for-this
):Журнал ядра
Следующее работает без рута:
Logcat
Здесь вы можете, например, указать, в какой области вы заинтересованы - радио, события ...
Получение информации об устройстве
И тонны этого: особенности устройства, информация об учетной записи, услуги ...
Все в одном
Сделайте большой шар со всем вместе, от logcat до dumpstate:
Я уверен, что вы действительно хотите перенаправить эту последнюю команду ... xD
Что-то о разрешениях
PS: Естественно, для доступа к этой информации может потребоваться root, так как большинство источников находятся во внутренней памяти.
источник
Обнаружено, что CatLog отображает журнал Android немного лучше, чем aLogcat. Кроме того
adb logcat
, это то, что я использую.источник
Метод без рута, который работает даже с новыми версиями Android:
Предпосылки:
Инструкции:
Terminal
Spotlight и откройте егоadb devices
чтобы убедиться, что ваше устройство правильно подключено.adb logcat
чтобы показать могучий и волшебный logcat aka stacktrace.(В основном скопировано с Леандроса )
источник
Бесплатное приложение SysInfo ( Project Page ) будет отображать системные журналы, а также архивировать полный системный отчет для отправки по электронной почте, в Dropbox, NFC и т. Д. Не говоря уже о множестве другой интересной информации о системе.
источник
Он расположен в
/sdcard/bugreports
.источник