Как просматривать и просматривать журнал Android?

В системном журнале Android много интересного, что полезно во многих отношениях.

  • найти коренные причины проблем
  • определить неправильные приложения

Как просматривать и просматривать журнал Android?

96 голосов | спросил Flow 11 +04002011-10-11T13:03:03+04:00312011bEurope/MoscowTue, 11 Oct 2011 13:03:03 +0400 2011, 13:03:03

6 ответов


52

Вы можете загрузить SDK и использовать adb logcat или получите aLogcat или Logcat Extrem с рынка, который показывает журнал непосредственно на вашем телефоне.

Jelly Bean

С Android 4.1 (иначе Jelly Bean) полный системный журнал доступен только в том случае, если у вас есть root. Приложения могут видеть только свои собственные сообщения журнала. Для получения дополнительной информации просмотрите этот вопрос.

ответил onik 11 +04002011-10-11T13:41:19+04:00312011bEurope/MoscowTue, 11 Oct 2011 13:41:19 +0400 2011, 13:41:19
49

Лог-файлы

Существует несколько каталогов, в которых могут появляться журналы (в том числе от сбоев) - не все из них стандартизированы (например, некоторые могут быть специфичными для ПЗУ).

  • /data/anr: некоторые файлы трассировки, похоже, здесь (Dalvik записывает трассировки стека здесь в ANR, то есть «Приложение не отвечает», например «Force-Close», см., например, выдержки из журналов here )
  • /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_nnnn, который является серийным, увеличивается с каждым новым файлом). Поскольку надгробные плиты помещены для мертвых, это делается здесь для «процессов, погибших случайно» (т. Е. Разбитых) - и это то, что называется «ядровыми дампами» в системах Linux /Unix. Однако не все приложения создают надгробные плиты; это должно быть явно включено разработчиком (см. Отладка Android Core Dumps ).

Там может быть еще несколько мест, которые ускользнули от меня; но поскольку большинство протоколирования выполняется на tmpfs, эти данные теряются при перезагрузке и не соответствуют запросу OP.

Команды журналов для использования с терминальным приложением (или adb)

Несколько команд могут получить массу информации. Для большинства из них рекомендуется повторно перенаправить их в файл (> filename.ext) или передать их через фильтр (| grep search-for-this):

Журнал ядра

Следующие действия без root:

$ 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 -b events
I/am_create_service( 3457): [1085416560,nitro.phonestats/.widget.WidgetProvider4x1$WidgetUpdateService4x1,,3721]
I/am_destroy_service( 3457): [1085416560,nitro.phonestats/.widget.WidgetProvider4x1$WidgetUpdateService4x1,3721]
I/notification_cancel( 3457): [nitro.phonestats,4,0] 
<snip>

Получение информации об устройстве

И тонны: особенности устройства, информация об учетной записи, услуги ...

$ dumpsys
Currently running services:
  LocationProxyService
  SurfaceFlinger
  accessibility
  account
  activity
<snip>
DUMP OF SERVICE account:
Accounts:
  1 Account {[email protected], type=com.google}
<snip> 

$ dumpstate
========================================================
== dumpstate: 2012-08-18 23:39:53
========================================================

Build: Gingerbread GWK74 - CyanogenMilestone2
Bootloader: 0x0000
Radio: unknown 
<snip>
------ MEMORY INFO (/proc/meminfo) ------
MemTotal: 487344 kB
MemFree: 10436 kB 
<snip>

Все-в-одном

Сделайте большой шар со всем вместе, от logcat до dumpstate:

$ bugreport > /mnt/sdcard/bugreport.txt

Я уверен, что вы действительно хотите перенаправить эту последнюю команду ... xD

Что-то о разрешениях

P.S.: Естественно, для доступа к этой информации может потребоваться root, так как большинство источников находятся на внутренней памяти.

ответил Izzy 19 AM00000040000004831 2012, 04:06:48
12

A обнаружил, что CatLog отображает журнал Android немного лучше, чем aLogcat. Кроме adb logcat, это то, что я использую.

ответил Flow 2 32011vEurope/Moscow11bEurope/MoscowWed, 02 Nov 2011 00:14:40 +0400 2011, 00:14:40
3

Метод без root, который работает даже с новыми версиями Android:

Предпосылки:

  • Linux, Windows или Mac
  • Кабель USB для вашего устройства
  • Устройство Android

Инструкция:

  1. Установите драйвер устройства для использования adb. Все, что вам нужно, вы найдете здесь здесь
  2. Загрузите исполняемый файл adb для вашей ОС. Это часть Android SDK, но вы можете найти исполняемый файл adb отдельно.
  3. Подключите устройство Android.
  4. Включите параметры разработчика .
  5. Включить отладку USB.
  6. Откройте команду promt (windows) или терминал (linux /mac). Как это сделать: в Windows: windows + r> введите «cmd» (без кавычек)> нажмите кнопку ввода | В Linux: вы не знаете, как открыть терминал? LOL | На Mac: введите Terminal в Spotlight и откройте его
  7. CD в каталог, в котором находится исполняемый файл adb. В Windows: перейдите в каталог, в который вы загрузили исполняемый файл adb, Shift + щелкните правой кнопкой мыши и выберите «Open Console» (или аналогичный) | В Linux /Mac: Rightclick в каталоге и выберите «Открыть терминал здесь» (или просто CD в каталог)
  8. Введите ваш cmd /terminal: adb devices, чтобы проверить правильность подключения вашего устройства.
  9. Если ваше устройство выбрано правильно, введите adb logcat, чтобы показать мощный и волшебный логарифм aka stacktrace.
  10. Воспроизводите свою ошибку (или что-то еще) на своем устройстве.
  11. Сразу после, вставьте все окно cmd /terminal в паст-сервис, например http://pastebin.com/ и отправить его нам.

(В основном скопировано из Leandros )

ответил Nicolas Raoul 14 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowWed, 14 Sep 2016 19:27:57 +0300 2016, 19:27:57
2

Бесплатное приложение SysInfo ( Страница проекта ) отобразит системные журналы, а также запустит полный системный отчет для отправки по электронной почте , dropbox, NFC и т. д. Не говоря уже о множестве других интересных системных сведений.

ответил JRobert 20 PM00000050000005731 2012, 17:08:57
-1

Он находится в /sdcard/bugreports.

ответил wasimys 20 TueEurope/Moscow2011-12-20T03:33:15+04:00Europe/Moscow12bEurope/MoscowTue, 20 Dec 2011 03:33:15 +0400 2011, 03:33:15

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132