Несподіване значення з 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(Якщо збережених фільтрів не видно, тоді натисніть на Показати збережені фільтри Перегляд у логкатах)
  3. Там, у поле Повідомлення журналу, введіть ^(?!.*(nativeGetEnabledTags)).*$.

скажіть, будь ласка, як написати це в журнал.
Хардік Вора

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

Це приємне рішення для тих, хто використовує зображення Intel (на відміну від ARM, де це має бути виправлено)
MattD

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

Можливо, ви думаєте про те, grepщо приємно, і шукаєте рядок за замовчуванням. Відповідь: "Чи не повертає регулярний вираз жодний рядок, що містить відповідність ..." - НІ.
помер

59

Це помилка в емуляторі System Image for API 17.

Наразі ваші обхідні шляхи такі:

Якщо вам НЕ потрібен API рівня 17

  • Використовуйте емулятор з API 16 (або нижче) ...
  • ... або вище (наприклад, API 19, протестований і для вирішення проблеми).

Якщо вам потрібен API рівня 17

  • Використовуйте справжній пристрій: Nexus 4, Nexus 7, Nexus 10.
  • Використовуйте фільтр LogCat, запропонований Хендриком. Вам доведеться відредагувати кожен ваш фільтр (якщо ви хочете виправити їх усі).

3
Я використовую Nexus 7 Real Device, але помилка все ще з’являється в Logcat ... Проблема Хендріка найкраща на даний момент ..
Laksh

1
Те саме з Nexus 4 та Galaxy Nexus з 4.2.1. Хоча спосіб вирішення дещо обмежений: інші журнали, як правило, зникають досить швидко.
3c71

Здається, що ці справжні пристрої також мають зображення баггі системи. Я здогадуюсь, що ваш єдиний спосіб вирішити у цьому випадку фільтр журналу.
Iñigo

Не потрібно це нижче. У мене була така ж проблема: я запускаю емулятор під управлінням Android 4.4.2 API рівня 19, і це також вирішило проблему.
Хаві Монтеро

18

Посилання, на яке ви посилалися, має відповідь. Це помилка, введена в останній редакції інструментів. У коментарях, що подаються далі, ви можете прочитати, що представник google каже, що виправлення вже на шляху.


15

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

Так. Це працює лише для зображення системи ARM EABI, а не для зображення Intel.

Оновлення

Здається, є оновлення Intel x86 Atom System Imageдля API 18, яке виправляє проблему (я ще не пробував). A linkвручну встановити системне зображення. Звичайно, його також можна отримати в Android SDK Manager.

Але це тільки для Android 4.3. 4.2.x розробникам все ж доведеться чекати виправлення ..!


Не має ефекту, не турбуйтеся
Адам,

1
Це має ефект! Після оновлення зображення системи помилка не бачиться. Якщо ефекту у вашому випадку немає, то також спробуйте оновити своє adt pluginі android sdk.
Лакш

7
Я все ще бачу це в зображенні Intel.
Кевлар

2
Оновлення зображення ARM EABI m7a працювало на мене. Дякую!
TrippinBilly

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

5

Проблема із зображеннями Intel x86 Atom та "nativeGetEnabledTags: 0" виправлена ​​з випуском зображення Android 4.3 (API 18) Intel x86 Atom. Я просто перевірив це і можу це підтвердити.

З образами 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.