Crashlytics Android NDK:崩溃报告中缺少所有符号 [英] Crashlytics Android NDK: missing all symbols in crash reports
问题描述
最近,我们的本机Crashlytics崩溃报告缺少所有符号信息.我曾希望最新的Crashlytics NDK能够解决此问题,但是并不能解决问题.
Our native Crashlytics crash reports are missing all symbol information as of late. I had hoped that the latest Crashlytics NDK would resolve the issue, but it does not.
我看到那里有一个类似的查询,但是在这种情况下,我不使用Firebase,而只是使用Crashlytics,并且已经成功地使用了很长时间了.
I see that there is a similar query out there, but in this case I am not using Firebase, just Crashlytics, and had been doing so successfully for quite some time.
我们的build.gradle(使用CMake和Gradle 3.0.0或3.1.0 Android插件-两种方式都存在相同问题)包含:
Our build.gradle (using CMake and the Gradle 3.0.0 or 3.1.0 Android plugin -- same issue either way) contains:
buildscript {
...
dependencies {
...
classpath 'io.fabric.tools:gradle:1.+'
}
}
...
dependencies {
...
implementation('com.crashlytics.sdk.android:crashlytics:2.9.1@aar') {
transitive = true
}
implementation 'com.crashlytics.sdk.android:crashlytics-ndk:2.0.2'
}
除非我缺少某些东西,否则似乎正确并使用所有最新的Fabric组件.
Which would seem to be correct and using all the latest Fabric components unless I am missing something.
然后我添加了:
crashlytics {
enableNdk true
manifestPath 'AndroidManifest.xml'
}
tasks.whenTaskAdded { task ->
if (task.name.startsWith('assemble')) {
task.finalizedBy "crashlyticsUploadSymbols" + task.name.substring('assemble'.length())
}
}
在工作之前,我什么都不需要. (而且,不,仅添加crashlytics块是不够的.)
none of which I had needed some time ago when this was working. (And, no, just adding the crashlytics block was insufficient.)
这为我在此项目中实际构建的.cpp文件提供了符号.我链接到的.a文件仍然没有符号,甚至libc ++ _ shared.so都没有符号!
This gives me symbols for the .cpp files I actually build in this project. It still has no symbols for the .a file I link in, nor even for libc++_shared.so!
推荐答案
将以下内容添加到您的 gradle.properties 文件中:
add the following to your gradle.properties file:
android.bundle.enableUncompressedNativeLibs = false
这篇关于Crashlytics Android NDK:崩溃报告中缺少所有符号的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!