Logcat не отображает сообщения Log.d

Я разрабатываю приложение для Android, и я хотел бы иметь способ распечатать отладочные заявления по мере запуска моего кода. К счастью для меня, Logcat смог распечатать сообщения Log.d при запуске моего приложения на эмуляторе Android 2.3.3 (API 10).

Однако, когда я тестировал одно и то же приложение на физическом устройстве (Samsung Galaxy S4 Android 4.2.2), я не смог увидеть ничего, кроме сообщений dalvikvm и AndroidRuntime.

com.android.internal.os.RuntimeInit <<<<<<
07-28 04:49:24.165: DEBUG/AndroidRuntime(6378): CheckJNI is OFF
07-28 04:49:24.165: DEBUG/AndroidRuntime(6378): setted country_code = USA
07-28 04:49:24.165: DEBUG/AndroidRuntime(6378): setted countryiso_code = US
07-28 04:49:24.175: DEBUG/AndroidRuntime(6378): setted sales_code = VZW
07-28 04:49:24.175: DEBUG/AndroidRuntime(6378): readGMSProperty: start
07-28 04:49:24.175: DEBUG/AndroidRuntime(6378): readGMSProperty: already setted!!
07-28 04:49:24.175: DEBUG/AndroidRuntime(6378): readGMSProperty: end
07-28 04:49:24.175: DEBUG/AndroidRuntime(6378): addProductProperty: start
07-28 04:49:24.185: DEBUG/dalvikvm(6378): Trying to load lib libjavacore.so 0x0
07-28 04:49:24.185: DEBUG/dalvikvm(6378): Added shared lib libjavacore.so 0x0
07-28 04:49:24.195: DEBUG/dalvikvm(6378): Trying to load lib libnativehelper.so 0x0
07-28 04:49:24.195: DEBUG/dalvikvm(6378): Added shared lib libnativehelper.so 0x0
07-28 04:49:24.385: DEBUG/AndroidRuntime(6378): Calling main entry com.android.commands.pm.Pm
07-28 04:49:26.978: DEBUG/AndroidRuntime(6378): Shutting down VM
07-28 04:49:26.988: DEBUG/dalvikvm(6378): GC_CONCURRENT freed 157K, 21% free 627K/788K, paused 1ms+0ms, total 4ms
07-28 04:49:26.988: DEBUG/jdwp(6378): Got wake-up signal, bailing out of select
07-28 04:49:26.988: DEBUG/dalvikvm(6378): Debugger has detached; object registry had 1 entries
07-28 04:49:27.458: DEBUG/AndroidRuntime(6420): >>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit <<<<<<
07-28 04:49:27.458: DEBUG/AndroidRuntime(6420): CheckJNI is OFF
07-28 04:49:27.458: DEBUG/AndroidRuntime(6420): setted country_code = USA
07-28 04:49:27.458: DEBUG/AndroidRuntime(6420): setted countryiso_code = US
07-28 04:49:27.458: DEBUG/AndroidRuntime(6420): setted sales_code = VZW
07-28 04:49:27.458: DEBUG/AndroidRuntime(6420): readGMSProperty: start
07-28 04:49:27.458: DEBUG/AndroidRuntime(6420): readGMSProperty: already setted!!
07-28 04:49:27.458: DEBUG/AndroidRuntime(6420): readGMSProperty: end
07-28 04:49:27.458: DEBUG/AndroidRuntime(6420): addProductProperty: start
07-28 04:49:27.468: DEBUG/dalvikvm(6420): Trying to load lib libjavacore.so 0x0
07-28 04:49:27.478: DEBUG/dalvikvm(6420): Added shared lib libjavacore.so 0x0
07-28 04:49:27.478: DEBUG/dalvikvm(6420): Trying to load lib libnativehelper.so 0x0
07-28 04:49:27.478: DEBUG/dalvikvm(6420): Added shared lib libnativehelper.so 0x0
07-28 04:49:27.649: DEBUG/AndroidRuntime(6420): Calling main entry com.android.commands.am.Am
07-28 04:49:27.659: DEBUG/dalvikvm(6420): Note: class Landroid/app/ActivityManagerNative; has 169 unimplemented (abstract) methods
07-28 04:49:27.719: DEBUG/AndroidRuntime(6420): Shutting down VM
07-28 04:49:27.729: DEBUG/dalvikvm(6420): GC_CONCURRENT freed 157K, 20% free 666K/828K, paused 0ms+1ms, total 3ms
07-28 04:49:27.729: DEBUG/jdwp(6420): Got wake-up signal, bailing out of select
07-28 04:49:27.729: DEBUG/dalvikvm(6420): Debugger has detached; object registry had 1 entries

Я не совсем уверен, что происходит с тех пор, как Logcat правильно нацеливает мое физическое устройство, оно появляется на устройствах adb, и USB Debugging включен.

Я попытался использовать Log.e, но это не повлияло на вывод.

Я даже установил android: debuggable = "true" в AndroidManifest.xml.

Есть ли что-то, что мне здесь не хватает? Почему Logcat не отображает мои отладочные сообщения при запуске моего приложения на моем физическом устройстве?

EDIT: я попробовал одно и то же приложение на эмуляторе Android 4.2.2, и Logcat работает так, как ожидалось, с эмулятором, но все еще проблема с Logcat через USB-устройство. Вместо многословия обычной распечатки Logcat, я опубликовал этот блок, единственное, что я вижу на уровне журнала Verbose.

Ответ 1

Это может быть связано с тем, что некоторые телефоны отключили журнал для повышения производительности.

Например, мой телефон HUAWEI P9 lite, я должен сделать следующие шаги, чтобы сделать Log.d:

  • Наберите * # * # 2846579 # * # *
    • Число может отличаться, вы должны выполнить поиск, чтобы получить секретный код для своего телефона.
  • Приходите на страницу ProjectMenu
  • Нажмите Background Settings
  • Нажмите LOG Settings
  • Отметьте AP Log.
  • По неизвестной причине он автоматически проверяет все журналы при повторном открытии LOG Settings.

введите описание изображения здесь

Ответ 2

На некоторых моделях вы должны перейти к параметрам разработчика и выбрать "Разрешить все" в "Расширенное ведение журнала".

Следующий снимок экрана с моего Meizu MX 4 Pro:

введите описание изображения здесь

Ответ 3

Вы включили USB-отладку для logcat? (если ваше физическое устройство подключено USB-кабелем). Перейдите в "Настройки", затем "Приложения", затем "Разработка", затем проверьте "Отладка USB".

Затем он должен появиться в DDMS. Просто выберите его для отладки/просмотра журналов.

Ответ 4

Возможно, это не ответ, но нужно показывать фотографии. Попробуйте установить фильтр для вашего TAG следующим образом:

enter image description here

и выберите подробный вариант:

enter image description here

Помогает ли это?

Ответ 5

Вам нужно установить ведение журнала (на желаемый уровень) через оболочку adb следующим образом:

  • Перейдите к платформенным инструментам в папку sdk для Android.
  • Откройте оболочку adb с помощью ./adb shell для linux/mac/windows powershell или просто adb shell для Windows cmd.
  • Выполните следующие команды:

     stop
     setprop log.tag.MYTAG VERBOSE
     start 
    

Ответ 6

Сегодня я столкнулся с той же проблемой. Ничего не работало для меня, как упомянутые решения. Но то, что сработало для меня, - это Android Studio Right side внизу, как указано на изображении. Выберите вариант, как указано на изображении. После этого все работало так, как ожидалось. Теперь отправляя свое решение, оно может помочь другим.

введите описание изображения здесь

Надеюсь, что помогает другим