我们的应用程序是一个Android应用程序,它具有由golang编写的JNI。而且,我们使用Fabric Crashlytics来跟踪糖浆。
但是,在JNI中发生崩溃之后,我们无法在Crashlytics中获取堆栈跟踪信息。在Java中,我们可以得到它。
在iOS版Object-C应用程序中,我们可以上载dSYM文件以映射功能。但是我在哪里可以用Golang做到呢?
Fabric支持吗?
现在,在Crashlytics中,我们只能看到以下内容:
select Name from PHONE
INNER JOIN NAMES on NAMES.Id=PHONE.PersonID
group by Name having count(PersonID)>=2;
答案 0 :(得分:2)
我们已经解决了这个问题。
背景:
我们构建了一个Android应用,它具有由gomobile编写的JNI,该应用由gomobile构建。 我们使用Fabric Crashlytics监视崩溃信息。 但是在Crashlytics中,我们看不到JNI中发生的完整堆栈跟踪信息。
解决方案是:
请首先检查您的NDK版本,该版本必须为
r17c
或更高版本。在gomobile命令中添加参数
--work
,例如gomobile bind --work YOUR-SOURCE-CODE-PATH WORK=TEMP-PATH
。构建成功后,将
jniLibs
中的所有文件移至YOUR-PROJECT-PATH/app/obj
。最后,执行Fabric文档中的步骤列表。
希望我们的经验可以节省您的时间:-)