记 Firebase 上无 NDK 符号表解决的过程
背景
在 项目上线之后,Firebase 的后台收到音视频上报的崩溃。在项目中音视频以 so 文件的形式集成近项目。在后台上报页面,看不到符号表的匹配。
而这个 bug 占据了我们 bug 的 Top 1 位置。
解决过程
第一步 重新检查集成 Firebase 的过程
出现问题的时候,我们第一步是去官网重新看集成 Firebase 的过程
检查了发现没有问题。
第二步 重新查看官网文档
经过第一步的检查,集成的步骤是没有问题的, 我们再次看看官网文档,有没有新的发现。
在官网的 Get Android NDK crash reports 的这个章节发现了新的线索。
我们的音视频 so 是自己开发的,用 gradle 的方式集成到工程里面。这个相当于外部独立的依赖,所以,需要用 Firebase 提供的 unstrippedNativeLibsDir 的属性上传未剥离符号表的 so.
在第三步 Step 3(optinal): Upload symbols for external dependencies 中
// …
android {
// ...
buildTypes {
release {
firebaseCrashlytics {
nativeSymbolUploadEnab