发布到Google Play后应用程序崩溃的突发情况

44

在发布应用程序新版本到Google Play之后,我会立即收到来自一种名为“未知全功能Android模拟器”的未知设备的一系列新崩溃报告。

以下是上传至Google Play后从Crashlytics获得的屏幕截图。这个崩溃并不是来自真实设备。

有人知道这个模拟器是什么吗?

Crashlytics控制台:

Crashlytics console

Splunk控制台中也可以看到类似的崩溃情况:

Splunk console


这里有问题吗?它可以是任何带有自定义ROM的新设备或已经root的设备。 - Morrison Chang
2个回答

42
自从我们发布了新版本后,我几乎只看到来自这个设备的崩溃,我猜想这是由于Google Play发布新应用程序的流程中,他们使用了monkey test测试你的应用程序。
我发现调试活动无法在UI中打开,但可以通过直接意图访问,因此我还猜测这个monkey test会检查清单,直接启动随机活动,并与它们玩耍。
请参阅:http://developer.android.com/tools/help/monkey.html

与调试活动相关的案例非常有趣,我之前不知道这一点,现在我确信这是一种自动化测试工具。 - mes
第一次听说猴子测试~ - KaKa
你有向Google Play支持团队咨询过这个问题吗?我也遇到了类似的问题,但是有一个限制条件:某些“设备”似乎不支持OpenGL 2,并且我已经在清单文件中过滤掉了不支持OpenGL 2的设备,但是这些设备仍然尝试运行应用程序,显然会导致崩溃。 - Fran Marzoa
@FranMarzoa 我不确定这是否与 OP 的问题相同,你应该检查最终清单(在与依赖项合并后)以检查您的限制是否仍然存在。我过去曾遇到一些在清单中限制 OpenGL 版本的问题,它并不总是按预期工作。请参阅此链接:https://developer.android.com/studio/build/apk-analyzer#view_the_androidmanifestxml - marmor
我非常确定。我有数以万计的安装活跃,只有一个用户遇到了这个问题,他们所有的设备都已经rooted,除了一个是模拟器。不过还是谢谢你提供的链接,我会保存下来以备将来参考。 - Fran Marzoa

9

我还在Crashlytics上发现了类似的问题,是在Rooted Emulator上报告的,当我尝试访问从getIntent()获取的值时,在一个活动的onCreate()中出现了NullPointer异常。但是我总是将这个值放在之前的活动中。所以我猜测它是通过monkey或"adb am start"启动的,即使该活动已经导出 =“false”


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接