Android 4.0的应用能够在Android 2.0和Android 3.0设备上运行吗?

5

我计划创建一个应用程序,让用户查看我目前正在开发的游戏的统计数据,但我的问题就像标题一样。我不确定使用Android 3.0、Android 2.0或更低版本的手机是否能够使用这些应用程序?如果不能,我该怎么解决?我是否无法使用新的API功能,例如NFC等?总之,如果我开始使用Android 4.0 SDK进行开发,所有Android手机都能够使用我的应用程序吗?

3个回答

5

我对Android开发的理解是,如果你构建一个单一的包并针对最低公共分母进行构建,那么它将在该版本上运行,并且很可能在任何更新的版本上也能运行。但反过来则不行。


4
兼容性库(现在称为支持库)并不使用任何特殊的技巧来实现兼容性。您可以在运行时检查Build.VERSION.SDK_INT并使用类加载器保证来访问可用的更新功能。下面是一些示例:http://android-developers.blogspot.com/2010/07/how-to-have-your-cupcake-and-eat-it-too.html 我们建议采取分阶段支持不同平台版本的方法。在较旧的版本上提供较简单的用户界面,并在可用新功能的情况下添加功能。上面的链接提供了一些如何实现这一点的示例,我们将继续扩展支持库与更多的*Compat类,在使用可能不适用于您要支持的所有设备的新功能时替您进行版本检查。

那么,使用这个库,我应该从Android 4.0 SDK开始构建,然后添加支持库以支持其他Android API级别吗? - Snwspeckle
2
该库只是一些描述技术的实现。是的,您应该使用最新可用的SDK进行构建。在清单中设置minSdkVersion为您计划支持的最低版本,将targetSdkVersion设置为您计划支持的最新版本,并确保每当您使用较新的API时,您确定正在运行它的设备实际上具有它。 :) - adamp
1
好的,所以我不需要将库添加到我的工作区以支持较低的API级别吗?对于这些初学者问题,我很抱歉,我是Android新手,我想确保我开始正确,这样我就不会有长期的问题。 - Snwspeckle
还有一个问题,我刚刚下载了最新的SDK。当我启动Android SDK管理器时,是否需要下载和安装我想要支持我的应用程序的所有Android版本?例如,如果我想支持Android 2.2,我需要安装它吗?因为Android 4.0已经支持它以下的所有内容。 - Snwspeckle
1
只需要Android 4.0版本就可以了。 - adamp
显示剩余3条评论

1

Chris是正确的。然而这可能会有限制。如果您想要灵活地使用3.0和4.0 Android的功能,但只有在运行设备上具备这些功能时才能优雅地回退怎么办?这时就需要Android兼容包了。您可以使用非常旧的API(一直到1.6),并仍然可以访问新的API功能。


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