由于外部依赖,我们尝试在本机崩溃时显示符号失败。
我们有一个Android库模块,用于构建本机库。
我们有https://docs.fabric.io/android/crashlytics/ndk.html#uploading-symbols-for-external-dependencies建议的单独的伪造Android应用程序模块,其中包含Fabric插件和符号上载配置。使用此build.gradle
文件:
buildscript {
repositories {
google()
jcenter()
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath 'com.android.tools.build:gradle:3.3.2'
classpath 'io.fabric.tools:gradle:1.28.1'
}
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
android {
compileSdkVersion 28
defaultConfig {
applicationId "<REDACTED>"
// no need to specify versionCode or versionName
}
}
crashlytics {
enableNdk true
// as plugin not applied to actual application/library module set paths manually
androidNdkOut '../build/intermediates/cmake/debug/obj/'
androidNdkLibsOut '../build/intermediates/cmake/release/obj/'
manifestPath 'src/main/AndroidManifest.xml'
}
已成功创建并上传cSYM文件。但是,堆栈跟踪中仍然有(丢失)符号。
Crashlytics如何知道要使用哪些符号,如果上载的符号不匹配,则某处有信息吗?它是否总是使用最新上传的版本?还是有些版本可能会破坏这里的内容?