35

我想分享一个我在分析 Google Play 控制台的新功能时面临的情况,并尝试找到解决方案。

你们中的许多人可能已经知道,Google 已经在 Google Play 控制台上发布了更新并引入了 Android Vitals。一个很好的特点是,现在会话 ANR 和崩溃显示了从用户选择自动共享使用情况和诊断数据(在手机首次设置期间)的 Android 设备收集的所有 ANR 和崩溃。

但是,我看到来自未发布应用程序的崩溃报告。我的意思是,来自尚未发布的开发人员版本。此外,这个崩溃报告来自一个使用 android-debug 密钥签名的应用程序,而不是我的生产密钥。我查看了可用的文档,但找不到有关过滤这些报告的详细信息。

在没有验证签名的情况下使用任何收入数据对我来说似乎是有害和错误的,因为任何人都可以简单地编写一段简短的代码并开始用大量的虚拟堆栈跟踪淹没特定的应用程序包名称。

你知道这是否是这个新工具的正常行为吗?

4

3 回答 3

16

由于我们对仅发布发布应用程序感兴趣,我们可以采用以下策略来摆脱混乱的崩溃报告:

./build.gradle :

android {
    ...
    defaultConfig {
        applicationId "my.app.package"
        ...
    }
    ...
    buildTypes {
        release {
            ...
        }
        debug {
            ...
            applicationIdSuffix ".dev"
        }
    }
...
}
于 2017-07-06T16:52:02.227 回答
4

开发者控制台仅报告已发布版本号(alpha、beta 或生产)导致的崩溃。

所以我的解决方案很简单:

  1. 发布新版本后,我做的第一件事就是增加 manifest 中的 versionCode。而且我在开发时只使用这个版本号。这样,不会将崩溃发送到控制台。
  2. 然后,当我准备再次发布时,我再次增加 versionCode。这样我可以确保新的崩溃只会来自已发布的版本。

编辑:

来自未发布版本的崩溃仍会出现在控制台上的“所有版本”选项下。因此,将此答案作为识别和过滤这些崩溃的一种方式,而不是阻止它们被记录。

于 2018-02-25T22:35:10.310 回答
1

我也面临同样的问题。
当我转到所有应用程序 -> -> 仪表板 -> 崩溃时,它会显示崩溃报告

但是,如果我直接转到 Android Vitals -> ANRs & crashs,它不会显示任何内容。

无论如何,对于第一种情况,您可以单击“查看详细信息”并从下拉菜单中为报告的每种崩溃类型选择“隐藏”。

这只是一个临时修复,但我认为谷歌必须为它提供适当的修复。

于 2017-06-04T12:21:33.940 回答