前几天看到一篇有趣且有点可怕的博客文章。这是移动开发人员测试的Android设备集合。大约是400. - > http://feedproxy.google.com/~r/Techcrunch/~3/0LybOzd0l0U/
我是一个独唱家伙,如果它只需要一小部分测试和支持,我就无法支持应用程序。我知道你可以效仿很多设备,但是仍有相当多的时间来测试超过少数的AVD。听起来这可能是一场噩梦。
对于那些已经在Android上咀嚼一段时间的人来说,关于哪些应用处理各种设备最简单的任何数据或建议?博客中的开发人员做了很多游戏,那些是最棘手的吗?
我确信Hello World在所有Android设备上运行良好,但是不会有很多接受者,你知道吗?
在开始一个雄心勃勃的应用程序之前,很高兴知道,例如,GPS很容易,一致,但本机代码可能是一场噩梦,或者图片仍然可以,视频很难支持。短信,数据库,SD卡访问? OpenGL,手势等等......
如果有人有一些一般的提示,或者特别是最容易对我们来说非常有帮助的最简单的清单。
由于
P.S。并且请不要说“在iOS上开发...”,这不是问题,更糟糕的是它太可预测了。 ; - )
答案 0 :(得分:5)
他们正在70 million downloads
级别开发,他们在亚洲市场非常重要,这意味着来自lower-end Asian manufacturers
的大量新设备
Netflix tests on only a dozen or so devices,代表其大多数用户,一些自定义ROM,各种处理能力和各种回放架构的用户。
由于您在每个Android设备上测试设备都不切实际,只需确保您的应用looks good并且built solid。
答案 1 :(得分:0)
已经给出的一般建议,建立一个坚实而且看起来不错的东西,是一个很好的起点。一般来说,您的应用程序越独立,就越容易确信在对畅销产品的核心子集进行测试后,它将在大量设备上运行。
困难的主要领域是当您与其他应用程序(如图库,地址簿等)进行交互时,OEM可能/将要更改您要集成的内置应用程序的任何地方都可能导致问题。对于大多数应用程序而言,这不是问题。具体来说,我参与了一个消息传递应用程序,需要对特定运营商的所有手机进行测试;这不是我期望有人独自承担的那种项目。
因此,简单的答案是避免与其他应用程序集成,将其视为更像iOS沙箱。不幸的是,它删除了一些Android值,但它是避免碎片问题的最简单方法。
实际上,如果您的应用程序在商业上取得成功,那么您需要在某些真实设备上进行测试。我个人认为测试的最低限度是来自每个主要OEM(姜饼和ICS)的手机,如果它是每个运营商的网络应用程序。对于刚开始的人来说,这种级别的财务义务是不现实的,此时您最终会将您的用户作为测试人员使用。
答案 2 :(得分:0)
好吧,既然你喜欢可怕的文章,这里有另外两篇可怕(和信息丰富)的文章:
http://opensignalmaps.com/reports/fragmentation.php
http://burnsmod.com/development/2012/05/01/Android-Fragmentation-Hurts-Everyone/
作为一般规则,使用低级硬件访问的任何事情都是一场噩梦,所以只要有可能,请坚持使用Java API来访问硬件功能。
相机API,无论是高级别还是低级别都可能存在问题。例如,当startActivityForResult
通过android.media.action.IMAGE_CAPTURE
调用高级摄像头API时,我遇到了特定于设备的问题。
有关设备特定错误的更多信息,请点击此处:
Is there a compilation of device-specific bugs for Android devices?
Android Device Specific Bugs
您最好的选择是为“普通”设备构建,然后根据用户投诉的频率调查特定设备。