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

nativeGetEnabledTags的意外值:0

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

这是什么意思?


当前回答

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

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

如果你不需要API级别17

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

如果你确实需要API级别17

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

其他回答

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

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

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

我已经添加了^(?!.*(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)).*$

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

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

更新

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

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