第一次为安卓开发。
我注意到最新的 SDK 是 v4.x 但我非正式地注意到大多数人都在运行 v2.3
如果我使用 4.x SDK 开发应用程序。它会拒绝在 2.3 手机上运行吗?还是会禁用某些功能?
我应该改用 2.3 SDK 开发吗?
第一次为安卓开发。
我注意到最新的 SDK 是 v4.x 但我非正式地注意到大多数人都在运行 v2.3
如果我使用 4.x SDK 开发应用程序。它会拒绝在 2.3 手机上运行吗?还是会禁用某些功能?
我应该改用 2.3 SDK 开发吗?
在回答问题之前,应该澄清一些事情:Android 版本(2.3、4.x 等)与其运行的 API 版本之间存在差异(始终是整数:10、11、12、 ETC)。Android 平台及其各自 API 版本之间的关系可以在此页面上找到。例如,Android 2.3 使用 API 10,Android 4.0 使用 API 15。
此外,只有一个 SDK,它具有可下载的模块,用于针对各种版本的 API 进行编码。因此,并不是您使用的是 SDK 的 v4.x,而是您使用的是 SDK、周期和针对 API 15 版的编码:)。
也就是说:最好将 minSdkVersion 设置为您的应用程序将运行的最低 Android 版本,并将 targetSdkVersion 设置为最新的 Android 版本。然后您可以使用 Build.VERSION_CODES 在运行时检查平台的新版本,并根据需要激活新的平台功能。关于如何做到这一点的一个很好的教程在 Android 开发者博客上,标题为How to have your cupcake, and eat it too。
我什至建议以 2.2 为目标,因为我仍有大量用户 (16%) 运行 Android 2.2。这是我的一个应用程序的细分,它显示了用户当前正在运行的版本。(见附图)。就像 J. Maes 所说的那样,您可以构建的越低,您可以捕获的用户就越多。尽管您必须通过使用旧版 SDK 进行权衡。对于大多数目的,我没有太多针对 2.2 的问题。它使我能够接触到更大的客户群。
您应该使用支持您要在应用程序中使用的所有功能的最低版本。如果您认为 4.x 功能在您的应用程序中是绝对必要的,那么您应该使用它。如果没有,请使用 2.3,以便更多人可以运行它,因为 Android 向后兼容。