请查看Android版本市场份额。我将开发适用于1.6及以上版本的应用程序。如果您在开发过程中意识到需要使用新版本的API功能,您将有三个选择:
如果可能的话,您应该支持仍然广泛使用的最旧的Android版本。那将是1.5版本。如果您需要来自较新版本的功能,则可以考虑要求更新版本,但如果您可以在仍然可用的最古老版本上完成工作,则应该增加能够使用您的应用程序的人数。
支持您的应用程序所需的所有功能的最早版本。
例如:您的应用程序需要多点触控?目标版本为2.1。
我的应用程序不需要在较新版本中引入的任何功能,因此我将目标版本定为1.5。
我同意上面发布的答案,并且我想要补充一点,在安卓API参考网站上,大部分时候最低API级别都被指定了(http://developer.android.com/reference/android/package-summary.html)。 你可以查看这个页面来确定与给定API级别相关联的安卓版本:http://developer.android.com/guide/appendix/api-levels.html
个人而言,我开发的所有应用都是针对2.1版本进行的。只有极少数设备仍在运行<2.0,并且其中大部分人已经将其更换为自定义ROM了。我知道这会对使用较旧手机的人造成一定影响,但我不想牺牲我的应用程序功能以实现向后兼容。
此外,我认为开发 >2.0 版本的应用可以鼓励人们升级他们的手机 =P
@Falmarri:我认为你的逻辑有一些缺陷。通常情况下,如果我在另一个平台(比如Windows)上开发,我会跟随你的思路。对于C#应用程序,我总是使用最新(非beta版)的版本,因为.NET Framework对每个人都是免费的(除了Win2k不能使用最新版本之外,它已经过去了将近10年了)。
但是,在Android上,这种尝试是行不通的。大多数运行1.5和1.6的设备之所以能够运行,是因为没有更新适用于这些设备的版本,要么是制造商停止为此手机开发新版本(为了激励用户购买升级版),要么是因为向这些“老”设备进行后移植太耗费时间。
因此,这些用户没有“自由选择”升级他们的手机。当然,在rooted/custom ROMs的情况下,技术上是可能的,但大多数用户没有足够的技术知识来root/flash他们的设备或者不想失去保修。
因此,如果您想向尽可能多的人提供您的应用程序,您必须考虑较旧的操作系统版本。在Android的情况下,针对1.5版本开发。
这基本上就是我的做法。我已经考虑到1.5版本开发我的应用程序。
这是来自Android文档的直接引用:
通常情况下,支持约90%的活跃设备并将应用程序针对最新版本进行定位是一个好的实践。
从实际角度来看,除非您有无限的预算,否则这是不可能的。
即使是Android自己也只发布从版本8开始的安全更新。
截至目前,我建议支持Android 7及以上版本。这应该覆盖57.9%的市场份额。
如果您滚动到本页面底部,会有一个显示Android支持信息的表格。
随着时间的推移,上述数字将会发生变化,因此该表格将每月更新。