1

安装 SDK 时,我读到大约 97% 的手机支持 Android 2.1 我的问题是,我应该在打开新项目时选择将其编译为 Android 2.1 吗?为 2.1 编写的应用程序可以在较新版本中运行吗?相反会起作用吗?如果我开发到 4.0.3,它会在旧版本中工作吗?

谢谢,埃里克

4

2 回答 2

5

我的问题是,我应该在打开一个新项目时选择将其编译为 Android 2.1 吗?

您指定为构建目标的内容(“选择将其编译为”)对可以运行您的应用程序的 Android 版本没有直接影响。

为 2.1 编写的应用程序可以在较新版本中运行吗?

对于“为”一词的任何合理解释,是的。

如果我开发到 4.0.3,它会在旧版本中工作吗?

与 Agarwal 的回答一样,这取决于您所说的“to”是什么意思。

例如,假设您要使用CalendarContract. 此类是在 API 级别 14(又名 Android 4.0)中添加的。只要您CalendarContract在 Android 4.0+ 设备上使用,就可以了。但是,如果您尝试CalendarContract在较旧的设备上使用,则会崩溃,因为固件中不存在该类。

因此,您可以有条件地使用较新的 API,只要您确保仅在运行较新版本 Android 的设备上使用这些较新的 API。通常,这是通过版本保护块完成的,例如:

if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.HONEYCOMB) {
  // do something that requires API Level 11+ here
}
于 2012-04-22T16:42:03.217 回答
0

如果您开发到 4.0.3,那么它不会安装在旧版本的设备上。如果您为 2.1 开发,它将在较新的版本上正常工作。但是如果你使用你不能得到 4.0.3 features 。

于 2012-04-22T16:37:38.370 回答