看到本机崩溃(“内存冲突”,sig=11)而不是Android堆栈跟踪

看到本机崩溃(“内存冲突”,sig=11)而不是Android堆栈跟踪,android,flurry-analytics,Android,Flurry Analytics,我最近开始在我的应用程序中看到更多的本机崩溃,在这种情况下,我似乎应该看到托管崩溃和Android堆栈跟踪。如果发生本机崩溃,应用程序将立即关闭,而不会出现“不幸的是,您的应用程序名称已停止”框。我看到的不是logcat中漂亮的Android堆栈跟踪,而是如下所示: 04-01 16:07:53.165 1263-1263/? E/audit: type=1701 msg=audit(1459544873.165:4214): auid=4294967295 uid=10535 gid=1053

我最近开始在我的应用程序中看到更多的本机崩溃,在这种情况下,我似乎应该看到托管崩溃和Android堆栈跟踪。如果发生本机崩溃,应用程序将立即关闭,而不会出现“不幸的是,您的应用程序名称已停止”框。我看到的不是logcat中漂亮的Android堆栈跟踪,而是如下所示:

04-01 16:07:53.165 1263-1263/? E/audit: type=1701 msg=audit(1459544873.165:4214): auid=4294967295 uid=10535 gid=10535 ses=4294967295 subj=u:r:untrusted_app:s0 pid=2372 comm="app.debug" reason="memory violation" sig=11
为了测试这一点,我特意在OnClickListener的onClick()方法中使用以下代码生成了一个NullPointerException:

Log.v("debugtag", "" + ((String)null).length());
我确信这会导致Android堆栈跟踪,但我只看到与本机崩溃相关的输出。显然有什么东西在干扰异常处理


我注意到这是在升级到Flurry 6.3.0之后开始的。还有人看到过这种情况吗?

我降级到Flurry 6.2.0,这个问题就消失了。与本机崩溃不同,我现在看到了完整的Android堆栈跟踪,正如预期的那样

在使用Flurry 6.3.0调试应用程序时,我注意到有时会在本机崩溃之前使用Flurry的uncaughtException()方法。反编译的Flurry代码显然是模糊的。在类“ma”中有一个私有内部类“a”,它实现了UncaughtExceptionHandler。在内部类“a”的uncaughtException()方法中,这是我看到的前四行代码:

ma var3 = ma.this;
Throwable var8 = var2;
Thread var7 = var1;
Set var9 = var3.c();
在执行最后一行代码时,调试会话结束并发生本机崩溃

我已经向Flurry报告了这种情况。我还不知道这是我的应用程序特有的东西,还是Flurry的问题。当更多信息可用时,我将在此更新

在调用FlurryAgent.init()之前,我确实尝试调用了
FlurryAgent.setCaptureUncaughtExceptions(false)
,但本机崩溃仍然发生


更新:Flurry报告了其6.3.1版本中修复的问题。根据他们的观点,6.3.0中引入的问题只影响调试版本,而不影响发布版本。

这里也一样。必须降级到6.2.0才能解决此问题。

我有一个与Flurry有关的问题。还没有修复的消息。Flurry在6.3.1中发布了一个修复。(更新答案以反映这一点。)QD,看到降级到6.2.0对你也有帮助,但这应该作为对原始答案的评论,而不是单独的答案。在StackOverflow内部,每个答案都提供了一种独特的方法。我没有足够的声誉:(顺便说一句,他们发布了一个新版本。