我目前正在使用已在Play商店推出的Android应用。这个应用程序与数据完全依赖(存储在设备和sql server中的sqlite中)。客户端和服务器中的数据可能不同,因为同步过程是预定的,而不是实时的。
问题是,我的应用程序在已经交付给客户端时有一些错误。其中一个问题导致同步过程失败,我无法弄清楚客户端有什么问题。我的测试人员已经在测试环境中对其进行了测试,并且一切正常(或者我的测试人员有点糟糕)。
我目前正在考虑如何远程调试它,或者至少远程读取错误日志。甚至从设备导出sqlite,并远程发送到我的服务器。 我想这样做,因为我仍然不知道,在哪些过程中,我的应用程序产生了这些错误。
我怎样才能实现这一目标?你们这些过程有一些方法或解决方案吗?或者我可能处于一个非常错误的开发生命周期中,以便发生这样的问题?
也许这种反应会多种多样和主观反应,但我总是把它全部拿走,因为我已经用谷歌搜索过,却一无所获。
谢谢大家,请赐教。聚苯乙烯。抱歉我的英文
答案 0 :(得分:1)
尝试使用Crashlytics。它会为您提供详细(它甚至会为您提供代码与其堆栈跟踪崩溃的确切行)以及每次应用崩溃时适时报告(它在崩溃后立即发送电子邮件和通知)。
您甚至可以在开发环境中模拟崩溃。
您需要在fabric中设置一个帐户,然后您可以安装Android Studio's plugin,之后配置相当容易。
下面是我从其中一个崩溃的项目中截取的截图。
答案 1 :(得分:1)
一旦应用程序运行,就没有解决方案。在将应用程序发送到生产环境之前,您必须使用该应用程序打包该工具。
作为解决方案,您可以添加Google Analytics,Crashlytics,Arca或Hockey(仅举几例),并通过此监控向您的用户发送更新包括图书馆。
一旦您的用户更新到新版本,崩溃报告就会开始进入。许多平台还可以选择跟踪自定义指标,以便您可以查看有关应用运行方式的具体信息。
顺便说一下,如果应用程序崩溃任何用户,他们可以选择向您发送错误报告,该报告随后会显示在您的Google Developers Console中。请注意,大多数用户拒绝此提示b / c他们认为它会向您发送个人信息。我上面发布的其他解决方案不需要用户交互,因此比依赖此方法更强大。