Unerwarteter Wert von nativeGetEnabledTags: 0

301

Ich habe die neueste Version des SDK (r21) und ADT 21.0.0 installiert. Ich habe einfachen Code ausprobiert und er funktioniert gut, aber jetzt wird in LogCat eine Warnung angezeigt , die in den vorherigen Versionen nicht angezeigt wurde :

Unerwarteter Wert von nativeGetEnabledTags: 0

Ich habe es gegoogelt und Problem 39723 gefunden : Emulator spammt LogCat mit der Meldung "Unerwarteter Wert von nativeGetEnabledTags: 0" .

Was bedeutet das?

Laksh
quelle
30
Es bedeutet, dass das neueste SDK einen Fehler enthält. Stellen Sie sicher und markieren Sie das Problem, um dafür zu stimmen, dass es behoben wird.
Jeffrey Blattman
Ich habe das gleiche Problem. Sollte ich die Anwendung herunterstufen?
Newday

Antworten:

478

Ich bin auch gerade auf dieses Problem gestoßen. Um dieses Problem zu umgehen, filtere ich die LogCatAusgabe mit dem folgenden Ausdruck im by Log MessageFeld des Filters:

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

Ansonsten ist es so Spam, dass es fast nutzlos ist.

Wenn Sie dies nach dem Vorschlag von Laksh immer filtern möchten, ohne es immer auf das Search for messagesFeld schreiben zu müssen :

  1. Gehen Sie zu Ihrem Logcat
  2. Im Saved FiltersTeil auf der linken Seite, klicken Sie auf die Edit selected logcat filter(Wenn Saved sichtbar Filter ist nicht dann auf Anzeigen klicken Gesicherte Filter Ansicht im Logcat)
  3. Geben Sie dort im Feld Nach Protokollnachricht ein ^(?!.*(nativeGetEnabledTags)).*$.
Hendrik
quelle
Kannst du mir bitte sagen, wie ich das in Log schreiben soll?
Hardik Vora
67
Gehen Sie zu Ihrem Logcat und Saved Filtersklicken Sie im Teil auf Edit selected logcat filter. Dort in das by Log MessageFeld eingeben ^(?!.*(nativeGetEnabledTags)).*$. Wenn Saved Filtersnicht sichtbar, klicken Sie Display saved filters viewim Logcat auf.
Laksh
Dies ist eine schöne Problemumgehung für diejenigen von uns, die Intel-Images verwenden (im Gegensatz zu ARM, wo dies behoben werden soll)
MattD
Ich lerne immer noch reguläre Ausdrücke und bin etwas verwirrt darüber. Ich verstehe die Komponenten (Zeilenanfang, negativer Ausblick, beliebige Zeichen, Zeichenfolgenliteral, beliebige Zeichen, Zeilenende), aber ich verstehe nicht, warum ein Teil davon notwendig ist. Ist kein regex jede Zeile zurück , die eine Übereinstimmung enthält, also warum brauchen wir ^, .*und $? Warum nicht einfach (?!nativeGetEnabledTags)? (ps das funktioniert nicht)
DavidS
Vielleicht denkst du darüber nach, grepwas nett ist und durchsuchst die Zeile standardmäßig. Die Antwort auf: "Gibt ein Regex keine Zeile zurück, die eine Übereinstimmung enthält ..." lautet NEIN.
dcow
59

Es ist ein Fehler im Emulator System Image für API 17.

Im Moment sind Ihre Problemumgehungen wie folgt:

Wenn Sie keine API-Stufe 17 benötigen

  • Verwenden Sie einen Emulator mit API 16 (oder niedriger) ...
  • ... oder höher (API 19 zum Beispiel getestet, um das Problem ebenfalls zu lösen).

Wenn Sie API Level 17 benötigen

  • Verwenden Sie ein echtes Gerät: Nexus 4, Nexus 7, Nexus 10.
  • Verwenden Sie den von Hendrik vorgeschlagenen LogCat-Filter. Sie müssen jedoch jeden einzelnen Filter bearbeiten (wenn Sie alle beheben möchten).
Iñigo
quelle
3
Ich benutze Nexus 7 Real Device, aber der Fehler tritt immer noch in Logcat auf ... Hendriks Problemumgehung ist vorerst die beste.
Laksh
1
Gleiches gilt für ein Nexus 4 und ein Galaxy Nexus mit 4.2.1. Die Problemumgehung ist jedoch etwas eingeschränkt: Andere Protokolle verschwinden in der Regel ziemlich schnell.
3c71
Es scheint, dass diese realen Geräte auch das fehlerhafte System-Image haben. Ich denke, dass Ihre einzige Problemumgehung in diesem Fall im Protokollfilter.
Iñigo
Nicht nötig, es ist niedriger. Ich hatte das gleiche Problem, ich habe einen Emulator mit Android 4.4.2 API Level 19 ausgeführt und es hat auch das Problem gelöst.
Xavi Montero
18

Der Link, auf den Sie verwiesen haben, hat die Antwort. Dies ist ein Fehler, der in der neuesten Version der Tools eingeführt wurde. In den Folgekommentaren können Sie lesen, dass ein Google-Vertreter sagt, dass ein Fix auf dem Weg ist.

Tasqa
quelle
15

Aktualisiere das ARM EABI v7a System Imagevon Android SDK Managerund die Warnung wird nicht mehr gesehen .. !! :) :)

Ja. Dies funktioniert nur für ARM EABI System Image und nicht für Intel Image.

Aktualisieren

Scheint , als ob es ein Update für die ist Intel x86 Atom System Imagefür API 18 , die das Problem behebt (ich habe es nicht versucht obwohl). A link, um das System-Image manuell zu installieren. Natürlich ist es auch im Android SDK Manager verfügbar.

Aber es ist nur für Android 4.3. Die 4.2.x-Entwickler müssen möglicherweise noch auf eine Lösung warten ..!

Laksh
quelle
Hat keine Wirkung, stört nicht
Adam
1
Es hat eine Wirkung! Nach dem System Image Update wird der Fehler nicht angezeigt. Wenn in Ihrem Fall keine Auswirkungen auftreten, aktualisieren Sie auch Ihr adt pluginund android sdk.
Laksh
7
Ich sehe das immer noch im Intel-Bild.
Kevlar
2
Das Aktualisieren des ARM EABI m7a-Systemabbilds hat bei mir funktioniert. Danke dir!
TrippinBilly
7
Dies ist keine Lösung für das Intel- Image. ARM EABI ist offensichtlich nicht für Intel.
Petr Gladkikh
5

Das Problem mit Intel x86 Atom-Images und "nativeGetEnabledTags: 0" wurde mit der Veröffentlichung des Intel 4.86 Atom-Images für Android 4.3 (API 18) behoben. Ich habe es gerade getestet und kann das bestätigen.

Mit ARM-Bildern wurde dies vor einiger Zeit behoben, ich weiß ...

Azislo
quelle
4

Da diese Nachrichten mit dem Tag versehen sind Trace Tag versehen sind, können Sie sie mit einem einfacheren Ausdruck filtern by Log Tag:

^(?!Trace)

Das ist es.

Übrigens sehe ich diese Meldungen auch auf dem realen Gerät (Fly IQ4410).

Idolon
quelle
4

Ich bekam viele ähnliche Nachrichten, deshalb brauchte ich bessere Filter. Fügen Sie diese Filter zum LogCat hinzu:

Nach Protokoll-Tag:

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

Per Protokollnachricht:

^(?!.*(nativeGetEnabledTags)).*$
Caner
quelle
1

Ich habe den ^(?!.*(nativeGetEnabledTags)).*$ Filter hinzugefügt , aber Sie können sehen, wie wenig es mir hilft:

Geben Sie hier die Bildbeschreibung ein

ab 1157 werden ein paar gefiltert und 799 umgehen das gleiche verhältnis, aber ein bisschen größere zahlen:

Geben Sie hier die Bildbeschreibung ein

Ich musste den "SpamFilter" hinzufügen, um den Logcat verwenden zu können:

Geben Sie hier die Bildbeschreibung ein

von Log Tag:

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

nach Anwendungsname:

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

Für mich hat es den Logcat ein bisschen nutzbar gemacht.


quelle