我该如何选择?我应该考虑哪些参数?
9 回答
首先,您应该考虑运行给定版本的 Android 平台的设备的相对数量
看看Android 版本的市场份额。我会为 1.6+ 开发。如果您在开发过程中意识到您需要更新版本的 API 功能,您将有 3 个选择:
- 不要使用该功能
- 从应用程序中检测 Android 版本,然后决定做什么
- 在清单文件和项目设置中更改所需的 Android 版本
支持您的应用程序所需的所有功能的最旧版本。
例如:您的应用需要多点触控?目标版本 2.1
我的应用程序不需要新版本中引入的任何功能,所以我的目标是 1.5
如果可能,您应该支持仍在广泛使用的最旧的 Android 版本。那将是1.5。如果您需要更高版本的功能,您可能会考虑需要更新版本,但如果您可以在仍然可用的最旧版本上进行工作,您应该增加能够使用您的应用程序的人数。
就个人而言,我为 2.1 开发一切。只有少数仍然运行 <2.0 的设备,其中大多数人已经在它们上面安装了自定义 rom。我知道这会让人们对旧手机感到厌烦,但我不喜欢为了使其向后兼容而破坏我的应用程序的想法。
我也觉得为> 2.0开发鼓励人们升级他们的手机=P
我同意上面发布的答案,我会在 android API 参考网站上添加,大多数时候指定最低 API 级别(http://developer.android.com/reference/android/package-summary.html)。您可以查看此页面以确定与给定 API 级别关联的 Android 版本:http: //developer.android.com/guide/appendix/api-levels.html
@Falmarri:我发现您的逻辑存在一些缺陷。通常,如果我要在另一个平台(如 Windows)上进行开发,我会倾向于遵循与您相同的路径。我的 C# 应用程序总是针对可用的最新(非测试版)版本,因为 .NET 框架对所有人免费提供(删除不适用于 Win2k 的新版本,现在已经快 10 年了)。
对于 Android,这种尝试是行不通的。大多数运行 1.5 和 1.6 的设备都会这样做,因为该设备没有更新,因为制造商停止为这款手机开发新版本(要么是为了激励用户获得新的升级版),要么是因为时间密集向后移植到这个“旧”设备。
所以这个用户没有升级手机的“自由选择”。从技术上讲,当然可以使用 root/自定义 ROM,但是大多数用户不具备使用自定义 ROM 对设备进行 root/flash 的技术知识,或者不想失去保修。
因此,如果您想将您的应用程序提供给尽可能多的人,您必须考虑使用更旧的操作系统版本来开发它。在 Android 的情况下,针对 1.5。
这基本上就是我所做的。我已经在考虑 1.5 的情况下完成了我的应用程序。
如果您使用 Android Studio 进行开发: 1. 转到工具 --> Android --> AVD Manager 2. 单击 AVD Manager 对话框的 Create Virtual Device... 按钮。3. 在对话框的“选择硬件”向导页面上选择一个设备,然后单击下一步。4. 在“系统映像”向导页面的右下方,您将看到以下内容:
如果您单击“API 级别分布图”链接,它将为您提供 API 级别的累积分布摘要。我假设这些信息在每个版本中都是最新的。从那里您可以单击 API 级别以获取有关该 API 级别的特定信息。根据那里提供的信息,您需要使用 API 级别 18 或更低,以便当前 Android Market 的大约 75% 能够使用您的应用程序。
也许这就是您正在寻找的信息类型。希望能帮助到你!
这是来自Android Docs的直接引用:
通常,最好支持大约 90% 的活动设备,同时将您的应用程序定位到最新版本。
实际上,除非您有无限的预算,否则这是不可能的。
甚至 Android 本身也只是从版本 8 开始发布安全更新。
截至目前,我建议支持 Android 7 及更高版本。这应该覆盖 57.9% 的市场份额。
如果您滚动到此页面的底部,则会出现一个显示 Android 支持信息的表格。
它将每月更新一次,因为我上面引用的数字会随着时间而变化。