nativeGetEnabledTags中的意外值:0


301

我安装了最新版本的SDK(r21)和ADT 21.0.0。我尝试了简单的代码,并且效果很好,但是现在我在LogCat中收到一条警告,该警告未出现在以前的版本中:

nativeGetEnabledTags中的意外值:0

我用谷歌搜索,然后发现问题39723:模拟器垃圾邮件LogCat带有“ nativeGetEnabledTags:0的意外值”消息

这是什么意思?


30
这意味着最新的SDK中存在错误。确保给问题加注星标,以便对其进行修复。
Jeffrey Blattman 2012年

我有同样的问题,我应该降级该应用程序吗?
2013年

Answers:


478

我也遇到了这个问题。作为一种解决方法,我在过滤器LogCatby Log Message字段上使用以下表达式过滤输出:

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

否则,它是如此垃圾,几乎是无用的。

遵循 Laksh的建议,如果您希望始终对其进行过滤,而不必始终将其写在Search for messages字段上:

  1. 转到您的 Logcat
  2. Saved Filters左侧的部分中,点击Edit selected logcat filter(如果看不到“已保存的过滤器”,然后单击“ Logcat”中的“显示已保存的过滤器视图”)。
  3. 在“按日志消息”字段中,输入^(?!.*(nativeGetEnabledTags)).*$

你能告诉我如何在日志中写这个吗?
Hardik Vora 2012年

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 2013年

59

这是API 17的仿真器系统映像中的错误。

目前,您的解决方法如下:

如果您不需要API级别17

  • 将仿真器与API 16(或更低版本)一起使用...
  • ...或更高版本(例如,API 19也经过测试可以解决该问题)。

如果您确实需要API级别17

  • 使用真实设备:Nexus 4,Nexus 7,Nexus 10。
  • 使用Hendrik建议的LogCat过滤器。不过,您必须编辑每个过滤器(如果要全部修复)。

3
我使用的Nexus 7真实的设备,但错误依然出现在logcat的......亨德里克的解决办法是最好的暂时..
Laksh

1
与Nexus 4和带有4.2.1的Galaxy Nexus相同。尽管解决方法受到一定限制:其他日志往往会很快消失。
2013年

看起来那些真实的设备也有错误的系统映像。我想在这种情况下,您唯一的解决方法是在日志过滤器中。
伊尼戈

无需降低它。我遇到了同样的问题,我运行的模拟器运行Android 4.4.2 API级别19,它也解决了该问题。
哈维·蒙特罗

18

您引用的链接具有答案。这是该工具的最新版本中引入的错误。在后续评论中,您可以阅读到Google代表表示正在修复。


15

更新ARM EABI v7a System Imagefrom Android SDK Manager,警告将不再显示.. !! :)

是。这仅适用于ARM EABI系统映像,不适用于Intel映像。

更新资料

好像有可用于一个更新Intel x86 Atom System ImageAPI 18,修正了问题(我还没有尝试过,虽然)。一个link手动安装系统映像。当然,它也可以在Android SDK Manager中使用。

但仅适用于Android 4.3。4.2.x开发人员可能仍然需要等待修复。


没有影响,不要打扰
亚当(Adam)

1
有效果!在系统映像更新之后,该错误将消失。如果对您没有影响,请尝试更新adt pluginandroid sdk
Laksh 2013年

7
我本人仍然在英特尔图像中看到这一点。
凯夫拉尔

2
更新ARM EABI m7a系统映像对我有用。谢谢!
TrippinBilly

7
这不是针对Intel映像的解决方案。显然,ARM EABI不适合英特尔。
Petr Gladkikh

5

随着Android 4.3(API 18)Intel x86 Atom映像的发布,Intel x86 Atom映像和“ nativeGetEnabledTags:0”的问题已得到解决。我刚刚测试过,可以确认这一点。

我知道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有点有用。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.