如何在Crashlytics中获取golang的堆栈跟踪

时间:2018-11-19 07:48:24

标签: android go stack-trace crashlytics google-fabric

我们的应用程序是一个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;

1 个答案:

答案 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文档中的步骤列表。

希望我们的经验可以节省您的时间:-)