我已将 Flurry SDK 集成到 Android 应用程序中。当我们主动测试我们的应用程序时,控制台充满了事件日志,每个事件都有一个参数列表。
我们准备要发布的应用程序:使用混淆编译测试候选 apk 并将它们提供给最终测试。我们开始在控制台中收到非常奇怪的统计信息:对于某些事件,名称存在,但日志为空且不存在参数。
我们认为这是由于混淆,一百次审查我们的 Proguard 配置,下一行出现:
-dontwarn com.flurry.**
-keep class com.flurry.** { *; }
我们创建了 4 个测试密钥并使用不同设置的组合编译了应用程序:混淆/非混淆和记录到 logcat/不记录。(我们将params的HashMap打印到log中,我不说flurry log to logcat)。混淆的 apk 与非混淆的 apk 没有任何不同:对于某些事件,事件名称存在,但日志和参数丢失。
我注意到“一切都很酷,一切都被记录”和“某些事件只有名称”这两个时期之间的区别:
- 第一个时期是在 2013 年 3 月 18 日 Flurry 服务器故障之前,第二个时期是在它之后。
- 在我们的测试人员积极使用应用程序的第一阶段,事件经常被调用。在第二个阶段,我们的测试人员尝试尽可能少地调用每个事件(但至少 1 次)。
有什么想法吗?