我应该开发哪个版本的Android操作系统?

34
我应该如何做出选择?我应该考虑哪些参数?

1
考虑到Android版本的更新速度,这里提供的任何信息在6-12个月内都会过时。因此,我投票关闭。 - Milan Babuškov
4
即使是在将来,如果你能够重复利用这些信息做出选择,那么它们就不是无用的。 - Shervin Asgari
1
请注意,“为旧版本开发”与“针对旧API进行开发”是不同的。文档中有这样一句话:“您仍然可以构建支持旧版本的应用程序,但将构建目标设置为最新版本可让您启用新功能并优化您的应用程序以获得最佳用户体验。”。来源:http://developer.android.com/training/basics/firstapp/creating-project.html - vowel-house-might
从2021年8月开始,新的应用程序需要:... ... ... ... 目标API级别为30(Android 11)或更高,并调整为API级别30(Android 11)或更高。... ... ... ...。引用自https://developer.android.com/distribute/best-practices/develop/target-sdk的通知表明这一点非常明确,但可能会产生重大影响! - Saptadeep
9个回答


12

请查看Android版本市场份额。我将开发适用于1.6及以上版本的应用程序。如果您在开发过程中意识到需要使用新版本的API功能,您将有三个选择:

  1. 不使用该功能。
  2. 从应用程序中检测Android版本,然后决定要做什么。
  3. 更改清单文件和项目设置中所需的Android版本。

5

如果可能的话,您应该支持仍然广泛使用的最旧的Android版本。那将是1.5版本。如果您需要来自较新版本的功能,则可以考虑要求更新版本,但如果您可以在仍然可用的最古老版本上完成工作,则应该增加能够使用您的应用程序的人数。


4

支持您的应用程序所需的所有功能的最早版本。

例如:您的应用程序需要多点触控?目标版本为2.1。

我的应用程序不需要在较新版本中引入的任何功能,因此我将目标版本定为1.5。


3

1
plunx不指代“上面的帖子”,因为当人们对帖子投票时,顺序会发生变化。 - pgsandstrom

3

个人而言,我开发的所有应用都是针对2.1版本进行的。只有极少数设备仍在运行<2.0,并且其中大部分人已经将其更换为自定义ROM了。我知道这会对使用较旧手机的人造成一定影响,但我不想牺牲我的应用程序功能以实现向后兼容。

此外,我认为开发 >2.0 版本的应用可以鼓励人们升级他们的手机 =P


2

@Falmarri:我认为你的逻辑有一些缺陷。通常情况下,如果我在另一个平台(比如Windows)上开发,我会跟随你的思路。对于C#应用程序,我总是使用最新(非beta版)的版本,因为.NET Framework对每个人都是免费的(除了Win2k不能使用最新版本之外,它已经过去了将近10年了)。

但是,在Android上,这种尝试是行不通的。大多数运行1.5和1.6的设备之所以能够运行,是因为没有更新适用于这些设备的版本,要么是制造商停止为此手机开发新版本(为了激励用户购买升级版),要么是因为向这些“老”设备进行后移植太耗费时间。

因此,这些用户没有“自由选择”升级他们的手机。当然,在rooted/custom ROMs的情况下,技术上是可能的,但大多数用户没有足够的技术知识来root/flash他们的设备或者不想失去保修。

因此,如果您想向尽可能多的人提供您的应用程序,您必须考虑较旧的操作系统版本。在Android的情况下,针对1.5版本开发。

这基本上就是我的做法。我已经考虑到1.5版本开发我的应用程序。


1
如果您正在使用Android Studio开发: 1.转到工具--> Android--> AVD管理器 2.单击AVD管理器对话框的“创建虚拟设备...”按钮。 3.在对话框的“选择硬件”向导页面上选择设备,然后单击“下一步”。 4.在“系统镜像”向导页面的右下角,您将看到以下内容:

API Level Distribution Chart Link

如果您点击“API级别分布图”链接,它将为您提供按API级别累积分布的摘要。我认为该信息会随着每个版本的发布而保持最新状态。从那里,您可以点击API级别以获取有关该API级别的具体信息。根据那里呈现的信息,您需要使用API级别18或更低版本,以便大约75%的当前Android市场能够使用您的应用程序。

API Level Distribution Chart

也许这就是您正在寻找的信息类型。希望能有所帮助!

还有一个额外的注释 - 为了支持针对Google Play服务的测试,您可以使用的最低API级别显然是API Level 21。 - Mitselplik
那个信息也可以在这里找到:https://developer.android.com/about/dashboards/index.html#Platform,而且他们会定期更新(最近一个是上个月的)。 - DarkCygnus

0

这是来自Android文档的直接引用:

通常情况下,支持约90%的活跃设备并将应用程序针对最新版本进行定位是一个好的实践。

从实际角度来看,除非您有无限的预算,否则这是不可能的。

即使是Android自己也只发布从版本8开始的安全更新。

截至目前,我建议支持Android 7及以上版本。这应该覆盖57.9%的市场份额。

如果您滚动到本页面底部,会有一个显示Android支持信息的表格

随着时间的推移,上述数字将会发生变化,因此该表格将每月更新。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接