gpt4 book ai didi

android - 无法获取 Crashlytics 中 native 崩溃的堆栈跟踪

转载 作者:行者123 更新时间:2023-12-05 00:05:11 24 4
gpt4 key购买 nike

我有一个包含 native 库 (.so) 的 Android 项目。我已将 firebase crashlytics 集成到我的项目中。我能够在 firebase crashlytics 中获取 Java 崩溃的故障转储。但是,在 native 崩溃的情况下 - 堆栈跟踪丢失例如 - 它是这样的:

Crashed: Thread: SIGSEGV  0x0000000003000000
at (Missing)()
at (Missing)()
at (Missing)()
at (Missing)()
at (Missing)()

我已经在文件夹 app/src/main/obj 和 app/src/main/libs 中分别添加了 native 库的调试和发布版本应用程序 build.gradle 的相关部分是:

crashlytics {
enableNdk true
androidNdkOut 'src/main/obj/'
androidNdkLibsOut 'src/main/libs/'
//manifestPath 'src/main/AndroidManifest.xml'
}

我使用命令上传原生符号

./gradlew crashlyticsUploadSymbolsRelease

返回成功(我的应用程序的构建变体是 Release)。我也做了

./gradlew crashlyticsUploadSymbolsDebug

只是为了确定,但这也没有帮助。

所以我的问题是:

  1. 我是否缺少某些步骤?

  2. 如何调试和修复此问题?

最佳答案

不要忘记检查命令 ./gradlew crashlyticsUploadSymbolsRelease --debug 的详细输出。它必须显示类似 Crashlytics 符号文件已成功上传 的消息。如果不是这种情况,请检查可能指示根本原因的周围消息。

这对我来说还不够,为了解决这个问题,我遵循了找到的建议 here : 我在 AndroidManifest.xml 文件中将 android:extractNativeLibs 设置为 true

<application
android:extractNativeLibs="true"
...
</application>

请注意,此设置会影响 apk 大小及其安装大小,如下所述:Setting android:extractNativeLibs=false to reduce app size

关于android - 无法获取 Crashlytics 中 native 崩溃的堆栈跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60778997/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com