我们的本地Crashlytics崩溃报告最近遗漏了所有符号信息.我曾希望最新的Crashlytics NDK可以解决这个问题,但事实并非如此.
我看到有一个类似的查询,但在这种情况下,我没有使用Firebase,只是Crashlytics,并且已经成功地做了很长一段时间.
我们的build.gradle(使用CMake和Gradle 3.0.0或3.1.0 Android插件 - 无论哪种方式相同)包含:
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'
}
Run Code Online (Sandbox Code Playgroud)
这似乎是正确的,并使用所有最新的Fabric组件,除非我遗漏了一些东西.
然后我补充说:
crashlytics {
enableNdk true
manifestPath 'AndroidManifest.xml'
}
tasks.whenTaskAdded { task ->
if (task.name.startsWith('assemble')) {
task.finalizedBy "crashlyticsUploadSymbols" + task.name.substring('assemble'.length())
}
}
Run Code Online (Sandbox Code Playgroud)
这是我工作时不需要的.(并且,不,只是添加崩解剂块是不够的.)
这给了我实际在这个项目中构建的.cpp文件的符号.它仍然没有我链接的.a文件的符号,甚至对于libc ++ _ shared.so也没有!