当前位置: 首页 > 知识库问答 >
问题:

Crashlytics NDK 解析 NDK 崩溃数据失败

颛孙正卿
2023-03-14

我正在通过ndk构建一个支持本地构建的Android应用程序。此外,我使用Crashlytics NDK来获取jni和cpp崩溃的崩溃报告。有时,Crashlytics NDK无法为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.syntaxError(JSONTokener.java:450)
        at org.json.JSONTokener.nextValue(JSONTokener.java:97)
        at org.json.JSONObject.<init>(JSONObject.java:156)
        at org.json.JSONObject.<init>(JSONObject.java:173)
        at com.crashlytics.android.ndk.JsonCrashDataParser.parseCrashEventData(JsonCrashDataParser.java:73)
        at com.crashlytics.android.ndk.CrashlyticsNdk.doInBackground(CrashlyticsNdk.java:117)
        at com.crashlytics.android.ndk.CrashlyticsNdk.doInBackground(CrashlyticsfNdk.java:23)
        at io.fabric.sdk.android.InitializationTask.doInBackground(InitializationTask.java:63)
        at io.fabric.sdk.android.InitializationTask.doInBackground(InitializationTask.java:28)
        at io.fabric.sdk.android.services.concurrency.AsyncTask$2.call(AsyncTask.java:311)
        at java.util.concurrent.FutureTask.run(FutureTask.java:237)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
        at java.util.concurrent.FutureTask.run(FutureTask.java:237)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
        at java.lang.Thread.run(Thread.java:818)

这似乎是crashlytics ndk框架中的一个错误。

正在使用以下版本:

com.crashlytics.sdk.android:crashlytics:2.5.0@aar
com.crashlytics.sdk.android:crashlytics-ndk:1.1.1@aar

Crashlytics Gradle配置:

crashlytics {
    enableNdk true
    androidNdkOut '$buildDir/../obj'
    androidNdkLibsOut '$buildDir/../libs'
}

有推荐吗?

共有1个答案

王庆
2023-03-14

此问题似乎已通过新版本的 crashlytics ndk (v1.1.2) 得到解决。查看支持人员的响应:

我有一些好消息!我们找到了这个问题的根本原因,并在1.1.2中发布了修复程序。如果你能升级并试用它,那就太好了。让我知道进展如何!

 类似资料:
  • 崩溃(Crash),即闪退,多指在移动设备(如:iOS、Android设备)中,在打开应用程序时出现的突然退出中断的情况。 如果App应用的线上版本发生过多的崩溃,会影响用户体验,导致用户流失,以及可能减少收益。 诸葛io的「App崩溃分析」功能,可以帮助产品、运营人员对App应用发生崩溃的次数、影响的人数进行监测,也可以查看崩溃路径,还原崩溃场景,了解用户是如何一步一步发生的崩溃。同时,可以协助

  • 我见过许多问题,询问为什么一个应用程序会崩溃,错误日志如下:未能获得FirebaseDatabase实例:FirebaseApp对象在其FirebaseOptions对象中没有DatabaseURL。 我通过Android Studio配置了firebase。 我仍然会遇到错误。 我相信google-services.json文件没有错误,因为它是由Android Studio自动创建的。 任何帮

  • 当试图使用java源代码作为Velocity的模板时,它会在模板的这一行崩溃: 除了这个例外: 显然,它接受宏的并在试图解析宏的参数时崩溃。对此有什么办法吗? 编辑 我知道我可以转义模板文件中的字符,但其中有相当多的字符也可能会时不时地更改,所以我更喜欢不需要手动更改文件的方法。

  • 我有Android原生C代码。然而,有时当我将应用程序发送到后台并返回时,它会与<code>SIGSEGV 在方法中,我添加了: 我有: 然而,当应用程序从后台退出时,< code>android_sigaction不会因该错误而触发。我试图在代码中创建bug(在数组边界之外编写),用按钮触发它,回调被正确调用。这是怎么回事?

  • 我正在尝试使用量角器在Jenkins上运行一些自动化测试,量角器使用硒和铬驱动。 我还设置了xvfb,这样我们就可以无头地运行这些测试。我已经安装了xvfb jenkins插件,它工作正常。 我遇到的问题是,当我开始测试时,chrome不断崩溃。我得到这个错误: 以下是关于系统设置的信息: 铬 位置: 版本:Chromium 52.0。2743.0 位置: 版本:ChromeDriver2.24.