Android crashlytics NDK的crashlytics IDDetectCrashDuringPreviousExecution 我们使用CRASHLICTICDE Debug侦测到以前的执行来检测java崩溃并将其报告给我们的BI系统,但是我们的应用程序主要是C++,我们使用的是CRASHLISTICNDK,我们找不到类似于CRASHLICTICDE Debug侦测的预先执行。
我们有没有办法在应用程序启动时检测到NDK崩溃 谢谢Android crashlytics NDK的crashlytics IDDetectCrashDuringPreviousExecution 我们使用CRASHLICTICDE Debug侦测到以前的执行来检测java崩溃并将其报告给我们的BI系统,但是我们的应用程序主要是C++,我们使用的是CRASHLISTICNDK,我们找不到类似于CRASHLICTICDE Debug侦测的预先执行。,android,c++,android-ndk,twitter-fabric,google-fabric,Android,C++,Android Ndk,Twitter Fabric,Google Fabric,我们有没有办法在应用程序启动时检测到NDK崩溃 谢谢 Oded这里是Fabric的Mike 目前,对于NDK崩溃,在Fabric或SDK中没有这样做的方法。注意:这仅适用于较旧版本(Crashlytics 2.6.7和CrashlyticsNDK 1.1.6) 我也在寻找解决方案。 我们目前找到了部分解决方案。我不确定它有多好,它肯定不是官方的,而且它是异步的(我们正试图通过循环来克服),但这是我找到的最好的解决方案,而且它似乎正在工作 Fabric.with(this, new Crashly
Oded这里是Fabric的Mike
目前,对于NDK崩溃,在Fabric或SDK中没有这样做的方法。注意:这仅适用于较旧版本(Crashlytics 2.6.7和CrashlyticsNDK 1.1.6) 我也在寻找解决方案。 我们目前找到了部分解决方案。我不确定它有多好,它肯定不是官方的,而且它是异步的(我们正试图通过循环来克服),但这是我找到的最好的解决方案,而且它似乎正在工作
Fabric.with(this, new Crashlytics.Builder().core(core.build()).build(), new CrashlyticsNdk(), new Crashlytics());
if (!userLeft) { // our handling to fix bug, see explanation below
new Thread(new Runnable() {
@Override
public void run() {
SessionEventData crashEventData = null;
for (int i = 0; i < 10; i++) {
try {
Thread.sleep(1000); // in ms
} catch (InterruptedException e) { }
crashEventData = CrashlyticsNdk.getInstance().getCrashEventData();
if (crashEventData != null)
{
// there was a crash!
// crash timestamp can be found at crashEventData.timestamp
break;
}
}
}
}).start();
}
之后,只需获取该USER_LEFT值,将其分配到userLeft参数,并在SharedPerferences上将其设置回false
关于此解决方案有何见解?嘿,Mike,在重新启动ndk期间,是否有关于通过CrashlyticsIDDetectCrashDuringPreviousExecution获取回调的更新?没有,没有更改。
@Override
public void finish() {
// set some key such as USER_LEFT to TRUE
super.finish();
}