片段名称在Firebase性能 Jmeter 板中被混淆

iszxjhcz  于 2022-11-17  发布在  其他
关注(0)|答案(1)|浏览(132)

我的项目有一个单一的Activity架构,每个屏幕被定义为一个片段,我们使用Firebase Performance来跟踪它的帧指标。以前我们必须根据Firebase使用的内容来创建屏幕跟踪器,因为Firebase只支持Activity的屏幕性能指标。当Firebase版本到20.1.0发布时,我们很高兴Firebase Performance支持对Fragments(源代码)的屏幕性能指标进行开箱即用的测量。
升级Firebase版本后,我们注意到Firebase性能监控 Jmeter 板中的Fragment屏幕名称被混淆。这是因为FragmentStateMonitor使用了fragment.getClass().getSimpleName(),并且片段被混淆。

我们已经尝试查找文档,以便为每个片段使用自定义的屏幕名称,但没有任何结果。在firebase-android-sdk仓库中已经发布了类似的问题(https://github.com/firebase/firebase-android-sdk/issues/3737https://github.com/firebase/firebase-android-sdk/issues/3756),但我认为这些问题是不同的。
我们已经在我们的Proguard中添加了新的规则来保留片段名称,它解决了我们的问题,但我们认为这将是保留片段名称的最后一个选择。
除了将新规则添加到Profuard(例如,将屏幕名称注入到FragmentStateMonitor)之外,是否还有其他方法可以解决此问题?
谢谢你:)

qpgpyjmq

qpgpyjmq1#

在挖掘了越来越多的信息之后,我决定在proguard中从模糊处理中排除Fragment类名:

-keepnames class * extends com.nyapp.base.navigation.BaseFragment

相关问题