【发布时间】:2020-06-10 02:47:17
【问题描述】:
对于 Android,我有一个将 firebaseCrashlytics 与之集成的原生项目。
当我强制崩溃时,它会出现在控制台中。但是,我无法让符号化发生。我的构建过程的输出在build/intermediates/cmake/release/obj 中,这些似乎被正确地用于生成符号以使用 gradle 任务成功上传到 firebase。
app:uploadCrashlyticsSymbolFileRelease
22:08:02.617 [DEBUG] [com.google.firebase.crashlytics] Generating native symbol files for libs in: android/project/crash_reporting/build/intermediates/cmake/release/obj; writing output symbols to: android/project/crash_reporting/build/crashlytics/Release/nativeSymbols
22:08:02.617 [DEBUG] [com.google.firebase.crashlytics] Crashlytics generating cSYM files from object files in android/project/crash_reporting/build/intermediates/cmake/release/obj:
22:08:02.937 [DEBUG] [com.google.firebase.crashlytics] Generating symbols for android/project/crash_reporting/build/intermediates/cmake/release/obj/armeabi-v7a/libcrash_reporting.so
22:08:02.938 [DEBUG] [com.google.firebase.crashlytics] Using DWARF data for cSYM generation.
22:08:03.711 [DEBUG] [com.google.firebase.crashlytics] Generating symbols for android/project/crash_reporting/build/intermediates/cmake/release/obj/x86/libcrash_reporting.so
22:08:03.712 [DEBUG] [com.google.firebase.crashlytics] Using DWARF data for cSYM generation.
22:08:04.525 [DEBUG] [com.google.firebase.crashlytics] Generating symbols for android/project/crash_reporting/build/intermediates/cmake/release/obj/arm64-v8a/libcrash_reporting.so
22:08:04.525 [DEBUG] [com.google.firebase.crashlytics] Using DWARF data for cSYM generation.
查看*.so 文件,我可以看到引发异常的方法的符号。我还可以在控制台中看到它尝试进行符号化,但出错了。
当我手动生成 .cSYM 文件并在 android studio 中查看它时,我没有看到我期望的方法名称。
如果我生成带有调试*.so 输出的cSYM,我确实会看到预期的方法名称。
如果我启用 crashlytics 进行调试,并上传这些符号,我就可以符号化我的调试版本。我不能对发布版本做同样的事情。有什么需要做的吗
(1) 生成 cSYM 以释放足够的信息?一些 DWARF 标志? (2) 使用从调试输出生成的 cSYM 以供发布版本使用。
编辑: 或者......我是否只需要在 debuggable 设置为 true 的情况下构建发布版本,生成并上传符号,然后对构建不执行任何操作。它只是用于符号生成。这是这里的典型方法吗?
【问题讨论】:
标签: android firebase crashlytics