我安装了最新版本的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)).*$。

其他回答

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

^(?!Trace)

就是这样。

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

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

我也遇到了这个问题。作为一种解决方法,我用下面的表达式过滤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)).*$。

我已经添加了^(?!.*(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变得有用了一些。

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

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

更新

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

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