【发布时间】:2015-08-13 08:28:00
【问题描述】:
我正在构建一个支持通过 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'
}
有什么建议吗?
【问题讨论】:
-
有趣的是,它试图传递的日志是空的:在字符 0 处输入结束... 我现在也看到了这个问题。你有没有解决这个问题?
-
不幸的是,没有新版本修复此错误。 Crashlytics 团队也无法给出适当的答案。
标签: android android-ndk crashlytics