如果不使用2.3中引入的任何额外API,2.3 android应用程序将在2.2上运行吗?

时间:2012-03-16 08:45:01

标签: android sdk android-2.2-froyo android-2.3-gingerbread

我正在尝试决定应该选择哪种目标API来构建我的下一个Android应用。我知道Gingerbread是对Froyo的重大升级,因此我想使用API​​ 10(2.3.3)。此外,谷歌的报告告诉我,Gingerbread 2.3.3目前拥有61.5%的市场份额(http://developer.android.com/resources/dashboard/platform-versions.html)。

就我项目的这一点而言,我不太确定Gingerbread中的LocationManager和其他API增强是否会被使用,尽管我的应用肯定会使用它们。如果我使用2.2进行开发,那么我可以针对更多的受众。

我的问题是,如果我不使用2.3 SDK中引入的任何新API,2.2(Froyo)用户是否可以安装并运行我的2.3.3(姜饼)应用程序?

编辑:如果答案是否定的,你们会建议我做什么,现在是2012年3月,以及更新的进度?开发人员现在应该从最低2.3.3开始,看到其中引入了错误修正和增强功能,更不用说顶级市场股东了。

2 个答案:

答案 0 :(得分:3)

您可以将10定位为API级别,但在清单中定义一个大约8的minSdkVersion。这将使Froyo设备的用户能够安装您的应用程序。但您必须确保不使用API​​级别10独有的任何API调用。如果您需要使用API​​级别10中引入的函数,则应通过反射使用它们,并重新实现API级别的缺失功能10或通知用户缺少功能。

答案 1 :(得分:2)

如果您在API 10上定位您的应用程序,即使您不使用任何新的API方法,2.2用户也无法安装它。

如果您将应用程序保留在Android 2.2上,2.3用户仍然可以安装和使用它。有关详情,请参阅the documentation