问题描述
我有一个使用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 (将#修改为@)