我安装了最新版本的SDK (r21)和ADT 21.0.0。我尝试了简单的代码,它工作得很好,但现在我在LogCat中得到了一个警告,在以前的版本中没有出现:

nativeGetEnabledTags的意外值:0

我谷歌了一下,我发现问题39723:模拟器垃圾邮件LogCat与“意外值从nativeGetEnabledTags: 0”消息。

这是什么意思?


你提到的链接有答案。 这是在最新版本的工具中引入的一个错误。 在后续的评论中,你可以读到谷歌代表说修复正在进行中。

我也遇到了这个问题。作为一种解决方法,我用下面的表达式过滤LogCat输出的by Log Message字段的过滤器:

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

否则,它几乎是无用的垃圾邮件。

按照Laksh的建议,如果你想总是过滤它,而不必总是写在搜索消息字段:

去你的Logcat 在左侧的Saved Filters部分,单击Edit selected logcat filter(如果Saved Filters不可见,则单击Display Saved Filters View In logcat) 在那里,在by Log Message字段中,输入^(?!.*(nativeGetEnabledTags)).*$。

这是API 17模拟器系统映像中的一个错误。

目前,您的变通方法如下:

如果你不需要API级别17

使用API 16(或更低)的模拟器… ...或更高(例如API 19,也通过测试解决了这个问题)。

如果你确实需要API级别17

使用真正的设备:Nexus 4、Nexus 7、Nexus 10。 使用Hendrik建议的LogCat过滤器。你必须编辑你拥有的每一个过滤器(如果你想修复它们)。

更新ARM EABI v7a系统镜像从Android SDK管理器和警告将不会再看到。!! :)

是的。这只适用于ARM EABI系统映像,而不适用于英特尔映像。

更新

似乎有一个更新可用的英特尔x86 Atom系统镜像API 18修复了这个问题(我还没有尝试过)。手动安装系统映像的链接。当然,它也可以在Android SDK管理器。

但它只适用于安卓4.3。4.2。X开发人员可能仍然需要等待修复!

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

在ARM的图像中,这个问题在一段时间前就被修复了,我知道…

因为这些消息是用Trace标签标记的,你可以使用更简单的表达式通过Log tag字段来过滤它们:

^(?!Trace)

就是这样。

顺便说一句,我也在真实设备(Fly IQ4410)上看到了这些消息。

我已经添加了^(?!.*(nativeGetEnabledTags))。*$ filter,但你可以看到它是如何帮助我:

1157被过滤了一些,799被过滤了同样的比例,但更大一点的数字:

我需要添加“SpamFilter”才能使用Logcat:

by Log Tag:

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

按应用程序名称划分:

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

对我来说,它让Logcat变得有用了一些。

我收到了很多类似的信息,所以我需要更好的过滤器。将这些过滤器添加到LogCat:

按日志标签:

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

日志信息:

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