nativeGetEnabledTags的意外值:0

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

nativeGetEnabledTags的意外值:0

我谷歌了一下,找到了Issue 39723: Emulator spams LogCat with "Unexpected value from nativeGetEnabledTags: 0" message

这是什么意思?

77953 次浏览

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

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

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

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

根据Laksh的建议,如果你想总是过滤它,而不必总是在Search for messages字段上写它:

  1. 去你的Logcat
  2. 在左侧的Saved Filters部分,单击Edit selected logcat filter(如果保存的过滤器不可见,则单击在Logcat中显示保存的过滤器视图)
  3. 在这里的by Log Message字段中,输入^(?!.*(nativeGetEnabledTags)).*$

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

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

如果你不需要API级别17

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

如果你确实需要API级别17

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

Android SDK Manager更新ARM EABI v7a System Image,警告将不再出现。!! :)

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

更新

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

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

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

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

由于这些消息被标记为Trace标记,你可以使用更简单的表达式来过滤它们by Log Tag字段:

^(?!Trace)

就是这样。

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

我已经添加了^(?!.*(nativeGetEnabledTags)).*$过滤器,但你可以看到它对我的帮助是多么小:

enter image description here

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

enter image description here

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

enter image description here

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)).*$