为动态模块上传Firebase Crashlytics本机符号

问题描述

我有一个使用Firebase Crashlytics的Android应用程序,该应用程序现在以Android App Bundle(AAB)的形式分发,由主基础应用程序(模块A)组成,并按需动态加载模块B。此外,活动和服务在模块B中的子进程中运行,不确定是否与此相关。模块A和模块B都有自己的本机库,它们是在Android Studio中构建的,我们将其称为libA.so和libB.so。完成每个发行版构建后,我还运行Gradle任务上载CrashlyticsSymbolFileRelease,但这仅上载libA.so的符号。当动态模块及其本地库libB.so中发生崩溃时,Crashlytics仅向我显示通用堆栈跟踪,而没有任何函数名,行号等。

请问如何强制为libB.so上载本机符号?

UPDATE 9/27/2020

使用以下命令更新动态模块的build.gradle

buildTypes {
    release {
        firebaseCrashlytics {
            nativeSymbolUploadEnabled true
        }
    }
    debug {
        debuggable true
        jniDebuggable true
        firebaseCrashlytics {
            mappingFileUploadEnabled false
            nativeSymbolUploadEnabled false
        }
    }
}

现在在Android Studio中,该模块的gradle选项卡上,我也有一个uploadCrashlyticsSymbolFileRelease命令。大。我执行它,一段时间后,构建因错误消息而崩溃:

FAILURE: Build Failed with an exception.

* What went wrong:
Execution Failed for task ':myDynModule:uploadCrashlyticsSymbolFileRelease'.
> variant.getApplicationId() is not supported by dynamic-feature plugins 
  as it cannot handle delayed setting of the application ID. Please use 
  getApplicationIdTextResource() instead.

似乎需要在运行gradle脚本的某些脚本中更正某些内容,以针对动态功能模块运行uploadCrashlyticsSymbolFileRelease命令,但我不知道要修复什么以及在何处...

更新10/1/2020

已向Firebase支持人员提交了支持票请求,让我们看看他们是否有什么好的建议,或者可能决定修复错误...

格雷格

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)