解决仅在特定设备上发生的错误的策略


12

作为Android开发人员,我为其创建应用的目标市场非常分散。虽然我可以指定某些要求-例如,我的应用仅支持xx或更高版本的Android,但有时可能会发生错误,这些错误仅在一种特定的手机型号上才明显。

是否有任何策略可以解决特定于设备的错误,而无需购买相关手机?我们维护了一套用于测试的手机,但是当2或3个用户报告只存在于其手机型号中的错误时,便无力外出购买新手机。

我敢肯定其他Android开发人员过去也遇到过类似的问题,并且很好奇可以使用哪些经济有效的策略来解决特定于设备的错误。

更新以添加一些细节:

  • 我使用Bugsense捕获错误报告,因此,每当引发异常时,我都将知道电话的型号,堆栈跟踪,用户经历的次数以及其他一些细节。
  • 这些用户可能位于不同的国家/地区,所以我无法假设自己可以借用他们的手机。

想象这样的情况: 100个用户已经安装了该应用程序,但是三个人抱怨按下按钮时按钮无法正常工作。我要测试的所有手机型号均未遇到该问题。问题电话型号似乎没有仿真器。


2
我们的本地孵化器与本地手机公司合作,创建了一个手机库来完全解决此问题-您可以在您所在的地区找到类似的东西(或向一些合适的人推荐)。
汉内勒2014年

您站起来回答您的问题,并要求将其重新打开。请确保您尽可能多地考虑选择答案。
JeffO 2014年

Answers:


10

多年前,我曾经遇到过为Palm设备开发软件时遇到的同样问题。有两种显而易见的策略:

  • 让用户帮助进行测试 -拥有Beta测试程序,让您的应用提供有关错误的良好信息,并提供报告错误的好方法。
  • 使用特定于设备的仿真器

不过,两者都相当有限。拥有真正的设备是没有万无一失的。

我遇到的一件有趣的事是AppThwack,该公司可让您远程测试数百个真实的Android设备。我个人没有这方面的经验,但是看起来很有希望(这也有力地表明,您的问题没有简单,便宜的答案)。


1
为AppThwack +1。他们有大量的设备,您可以将测试定向到某些设备池。您可以指示仪器进行屏幕截图,并获取每个设备的崩溃日志。这是很好的替代品,因为它没有手头上的所有已知设备(=
David Cowden 2014年

+1是“最佳测试程序”,我有一个用于电池跟踪的Android应用程序。当我将其发送给获得奇怪结果的用户并获得调试输出时,那是一个极其WTF的时刻:他以某种方式弄糟了手机,以至于Android本身一分钟报告60%的电量,下一分钟报告40%的电量。 ,下一个占80%,而且它一直在跳来跳去。当时无法在应用中执行任何操作来修复它,他们需要修复手机。
2014年

-1

不幸的是,这个问题没有简单的答案。

完善@ dan1111答案让用户帮助进行android 测试

  • 在您的android-app中添加许多日志语句,以记录重要的上下文信息
    • 现在打开数据库“ /data/data/my.namespace.com/databases/myDatabase.db”或
    • 现在调用网络服务“ my.server.com/loadingOrder(id=22)”
  • 要求用户在可以读取本地调试日志的设备上安装 alogcat,并指示他如何设置过滤器以跟踪问题的根源并向您发送日志。

安装alogcat的意义何在,而OP表示他们已经有了类似的东西:“使用Bugsense捕获错误报告,因此每当抛出异常时,我都会知道电话的型号,堆栈跟踪及其次数。发生在我的用户
身上
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.