Неожиданное значение от nativeGetEnabledTags: 0


301

Я установил последнюю версию SDK (r21) и ADT 21.0.0. Я попробовал простой код, и он хорошо работает, но теперь я получаю предупреждение в LogCat, которое не появлялось в предыдущих версиях:

Неожиданное значение от nativeGetEnabledTags: 0

Я его погуглил и обнаружил проблему 39723: эмулятор спама LogCat с сообщением «Неожиданное значение от nativeGetEnabledTags: 0» .

Что это означает?


30
это означает, что в последнем SDK есть ошибка. убедитесь и отметьте проблему, чтобы проголосовать за ее устранение.
— Джеффри Блаттман

У меня та же проблема, я должен понизить версию приложения?
— Новый день

Ответы:


478

Я тоже столкнулся с этой проблемой. В качестве обходного пути я фильтрую LogCatвывод с помощью следующего выражения в by Log Messageполе фильтра:

^(?!.*(nativeGetEnabledTags)).*$ 

В противном случае он настолько спамит, что почти бесполезен.

Следуя предложению Лакша , если вы хотите фильтровать это всегда без необходимости всегда писать это в Search for messagesполе:

  1. Перейти к вашей Logcat
  2. В Saved Filtersлевой части нажмите кнопку Edit selected logcat filter(Если сохраненные фильтры не отображаются, нажмите «Показать представление сохраненных фильтров в Logcat»).
  3. Там в поле By Log Message введите ^(?!.*(nativeGetEnabledTags)).*$.

Подскажите, пожалуйста, как мне написать это в журнале.
— Хардик Вора

67
Перейдите к вашему Logcat, и в Saved Filtersчасти, нажмите на Edit selected logcat filter. Там в by Log Messageполе введите ^(?!.*(nativeGetEnabledTags)).*$. Если Saved Filtersне видно, нажмите Display saved filters viewв Logcat.
— Лакш

Это хороший обходной путь для тех из нас, кто использует образы Intel (в отличие от ARM, где это должно быть исправлено)
— MattD

Я все еще изучаю регулярные выражения, и меня это немного смущает. Я понимаю компоненты (начало строки, отрицательный прогноз, любые символы, строковый литерал, любые символы, конец строки), но я не понимаю, почему некоторые из них необходимы. Не регулярное выражение вернуть любую строку, содержащую совпадение, так зачем нам нужны ^, .*и $? Почему не просто (?!nativeGetEnabledTags)? (ps это не работает)
— DavidS

Может быть, вы думаете о том, grepчто приятно и ищет строку по умолчанию. Ответ: «Не возвращает ли регулярное выражение строку, содержащую совпадение ...» - НЕТ.
— dcow

59

Это ошибка в эмуляторе System Image для API 17.

На данный момент ваши обходные пути следующие:

Если вам не нужен API уровень 17

  • Используйте эмулятор с API 16 (или ниже) ...
  • ... или выше (например, API 19, также проверенный для решения проблемы).

Если вам действительно нужен уровень API 17

  • Используйте реальное устройство: Nexus 4, Nexus 7, Nexus 10.
  • Используйте фильтр LogCat, предложенный Хендриком. Вы должны будете отредактировать каждый фильтр, который у вас есть (если вы хотите исправить их все).

3
Я использую Nexus 7 Real Device, но ошибка все еще появляется в Logcat ... Обход Хендрика - лучший на данный момент ..
— Лакш

1
То же самое с Nexus 4 и Galaxy Nexus с 4.2.1. Хотя обходной путь несколько ограничен: другие журналы имеют тенденцию исчезать довольно быстро.
— 3c71

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

Нет необходимости, это ниже. У меня была такая же проблема, я запустил эмулятор под управлением Android 4.4.2 API Level 19, и это также решило проблему.
— Хави Монтеро

18

Ссылка, на которую вы ссылались, содержит ответ. Это ошибка, появившаяся в последней версии инструментов. В последующих комментариях вы можете прочитать, что представитель Google сообщает, что исправление уже в пути.


15

Обновите ARM EABI v7a System Imageс Android SDK Managerи предупреждение больше не будет видно .. !! :)

Да. Это работает только для образа системы ARM EABI, а не для образа Intel.

Обновить

Похоже, что Intel x86 Atom System Imageдля API 18 доступно обновление, которое решает проблему (хотя я не пробовал его). А linkдля ручной установки образа системы. Конечно, это также доступно в Android SDK Manager.

Но это только для Android 4.3. Разработчикам 4.2.x, возможно, все еще придется ждать исправления ..!


Не имеет никакого эффекта, не беспокойтесь
— Адам

1
Это имеет эффект! После обновления образа системы ошибка не видна. Если в вашем случае нет эффекта, попробуйте обновить adt pluginи android sdk.
— Лакш

7
Я все еще вижу это в образе самой себя.
— Кевлар

2
Обновление ARM EABI m7a System Image сработало для меня. Спасибо!
— TrippinBilly

7
Это не решение для образа Intel . ARM EABI не для Intel, очевидно.
— Петр Гладких

5

Проблема с образами Intel x86 Atom и «nativeGetEnabledTags: 0» устранена в выпуске образа Intel x86 Atom для Android 4.3 (API 18). Я только что проверил это и могу это подтвердить.

С ARM-изображениями это было исправлено некоторое время назад, я знаю ...


4

Поскольку эти сообщения помечены Traceтегом, вы можете использовать более простое выражение для фильтрации их by Log Tagполя:

^(?!Trace)

Вот и все.

Кстати, я также вижу эти сообщения на реальном устройстве (Fly IQ4410).


4

Я получал много похожих сообщений, поэтому мне нужны были лучшие фильтры. Добавьте эти фильтры в LogCat:

По тегу журнала:

^(?!.*(GN_FW_TextView|GN_FW_Editor|SurfaceTextureClient|skia|AbsListView|Provider/Settings|InputMethodManager|jdwp)).*$

По сообщению журнала:

^(?!.*(nativeGetEnabledTags)).*$

1

Я добавил ^(?!.*(nativeGetEnabledTags)).*$ фильтр, но вы можете видеть, как мало он мне помогает:

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

от 1157 отфильтровывается несколько обойденных и 799 таких же коэффициентов, но чуть большие цифры:

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

Мне нужно было добавить «SpamFilter», чтобы иметь возможность использовать Logcat:

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

по тегу журнала:

 ^(?!Trace|ADB_SERVICES|BufferQueue|wpa_supplican|SurfaceFlinger|Settings/BW|Bluetooth HS/HF)

по имени приложения:

^(?!com.android.systemui|system_process)

Для меня это сделало немного полезным Logcat.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.