我安装了最新版本的SDK (r21)和ADT 21.0.0。我尝试了简单的代码,它工作得很好,但现在我在LogCat中得到了一个警告,在以前的版本中没有出现:
nativeGetEnabledTags的意外值:0
我谷歌了一下,我发现问题39723:模拟器垃圾邮件LogCat与“意外值从nativeGetEnabledTags: 0”消息。
这是什么意思?
我安装了最新版本的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)).*$