我的Android代码中有一个UncaughtExceptionHandler。如果发生未捕获的异常,我的应用程序将通过HTTP POST将版本信息,设备特征和堆栈跟踪发送到我的服务器。 (我发布的隐私政策明确了这一点。)服务器还会记录错误报告来源的IP地址。
昨晚,我收到了一个未捕获的异常的通知。这是由于我的应用程序的版本号尚未发布。其含义是惊人的。我希望有一个被我忽略的天真解释。
昨天晚上,我在AndroidManifest.xml上将版本号增加到254。我对代码做了一些修改,并使用Android Studio和USB连接在4种不同Android版本的不同手机和平板电脑上对它们进行了测试。我在美国东部标准时间午夜前几分钟打包了所有东西,然后关闭了计算机。
该错误报告是在今天上午EST 12:10发送的。它来自的IP地址已注册到位于华盛顿州西雅图的Amazon Technologies。 (我在宾夕法尼亚州。)该应用程序的版本号为254。该软件在“ ARM Emulator上的AOSP模型”上运行。该错误来自可能已显示的对话框片段上“升级”按钮的onClick回调。昨晚我不在那部分代码上工作。
我的代码在Google Play商店中有多个版本,并且我已经在网站上发布了多个版本供测试人员试用。但是254版是昨晚创建的,从未发送给Google或其他任何地方。还有其他迹象表明,该报告不太可能来自早期版本。
堆栈跟踪未混淆。所有发布的版本均应具有模糊的代码。
我从不使用模拟器。我更喜欢在实际硬件上调试。
一个无辜的解释可能是我无意间生成了错误消息。我将不得不启动一个仿真器,调出对话框片段,然后单击“升级”。但这仍然无法解释Amazon IP地址。
到底发生了什么?