我正在构建一个通过ndk支持本地构建的Android应用程序。此外,我使用Crashlytics来获取jni和cpp崩溃的崩溃报告。有时,Crashlytics无法为cpp类中的崩溃发送崩溃报告(java和jni的工作方式与魅力一样)。
08-13 09:45:05.690 25875-25996/? E/CrashlyticsNdk﹕ Failed to parse NDK crash data.
org.json.JSONException: End of input at character 0 of
at org.json.JSONTokener.syntaxErro
我有崩溃报告在谷歌控制台上,有两个,它是相同的(因为stackoverflow检测到它为垃圾邮件,我将只发布一个),Crashlytics试图上传报告,它将崩溃,因为内存不足的错误。
崩溃报告:
java.lang.OutOfMemoryError:
at com.android.okio.Segment.<init> (Segment.java:34)
at com.android.okio.SegmentPool.take (SegmentPool.java:48)
at com.android.okio.OkBuffer.writableSegment (OkB
我在我的应用程序中使用了来自Fabric.io的批判性语言。
下面是我如何在我的MainActivity.java中在onCreate()方法的最后一次初始化它:
Fabric.with(this, new Crashlytics());
下面是build.gradle (Project: abc)文件:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
mave
我正在从Fabric升级到Firebase crashlytics。我已经添加了Firebase和Fabric/Crashlytics pods到我的项目中,添加了.plist等。所有似乎都工作得很好,除了崩溃没有报告。我正在使用assert(! "crashing on purpose to test crashlytics");产生崩溃,因为我看到其他人提到[[Crashlytics sharedInstance] crash]对他们不起作用。
有趣的是,我正在使用的内部版本号的“无崩溃用户”在崩溃生成后下降到0%,但crash报告为0。dSYMs选项卡未列出版本号。
我正在设置一个CrashlyticsListener,如指示的,以便在下一个应用程序在崩溃发生后启动时进行回调。如果应用程序在上一次运行时出现了Java异常,就会触发crashlyticsDidDetectCrashDuringPreviousExecution(),但是如果它在JNI中崩溃了,则不会触发。
我正在用NDK支持初始化Crashlytics
Fabric.with(FiosSdkApplication.getAppContext(), new Crashlytics(), new CrashlyticsNdk());
我看到坠机报告被上传了:
06-08 15:36:03.17
我的Crashlytics数据没有出现在Firebase Crashlytics视图中。它确实显示“无崩溃的统计数据”为75%,因此它似乎在记录一些数据。我还看到崩溃立即出现在Fabric和旧Firebase崩溃报告接口中,以及作为常规事件出现在DebugView中,但在Crashlytics页面的page部分却没有出现。我想我的Fabric项目可能还没有链接到我的Firebase项目,但是当我尝试使用这个链接手动执行它时,它告诉我项目已经被链接了,具体来说就是Project already contains a linked app with that bundle ID and platf