【问题标题】:Crashreport for c++ library show missingc++ 库的崩溃报告显示丢失
【发布时间】:2018-10-02 11:16:39
【问题描述】:

我已配置 build.gradle 和 Application 以使 Crashlytics 正常工作。 但无法弄清楚为什么 c++ 代码显示“丢失”并且没有任何详细信息(行号、调用堆栈)。 “./gradlew crashlyticsUploadSymbolsdevelopmentRelease”成功,没有任何错误。 java代码崩溃报告的堆栈跟踪有效。只有 c++ 代码的崩溃报告显示“丢失”。

Java代码通过JNI使用“libengine”。

build by:
externalNativeBuild {
   cmake {
      path "CMakeLists.txt"
   }
}


my build.gradle:
crashlytics {
    enableNdk true
    androidNdkOut 'build/intermediates/cmake/development/debug/obj'
    androidNdkLibsOut 'build/intermediates/cmake/development/release/obj'
    manifestPath 'src/main/AndroidManifest.xml'
}

【问题讨论】:

  • 您可以访问这些库的未剥离的调试版本吗?
  • @MikeBonnell 是的,我有。调试版本位于“build/intermediates/cmake/development/debug/obj”目录中。我还运行了 ./gradlew crashlyticsUploadSymbolsdevelopmentDebug 来上传它。
  • 好的,您使用的是我们的 SDK 和 gradle 插件的哪个版本?
  • @MikeBonnell 依赖项 { implementation('com.crashlytics.sdk.android:crashlytics:2.9.5') { transitive = true } implementation('com.crashlytics.sdk.android:crashlytics-ndk: 2.0.5') { 传递 = true } }
  • @MikeBonnell 非常感谢。现在它可以工作了,我可以看到 c++ 文件的行号和调用堆栈。

标签: android google-fabric crashlytics-android


【解决方案1】:

问题是 build.gradle 中 obj 和 lib 的路径错误。 就我而言,c++ 库是由 cmake 构建的,我应该配置如下以上传符号以进行发布构建。

    crashlytics {
        enableNdk true
        androidNdkOut 'build/intermediates/cmake/development/release/obj'
        androidNdkLibsOut 'build/intermediates/transforms/stripDebugSymbol/development/release/0/lib'
        manifestPath 'src/main/AndroidManifest.xml'
    }

    #in order to avoid manually run crashlyticsUploadsSymbols
    android.applicationVariants.all { variant ->
        def variantName = variant.name.capitalize()
        if(variant.buildType.name=="release")
        variant.assemble.finalizedBy(project.("crashlyticsUploadSymbols${variantName}"))
    }

我学会了通过检查来检查上传是否成功:

~/Library/Caches/com.crashlytics/com.crashlytics.tools/crashlytics.log

【讨论】:

    猜你喜欢
    • 2021-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-18
    • 2011-07-31
    • 2022-10-14
    • 2016-07-02
    • 1970-01-01
    相关资源
    最近更新 更多