我正在学习Android SDK,并且我开始做一些实际的应用程序开发变得更加舒适了。我已经在网上做了一些阅读,基于我有限的理解,我作为开发人员,应该包括我打算让应用程序可用的Android API级别。我的问题与此有关......
基于在线的一些图表,似乎最有意义的是支持从2.3(Gingerbread)到当前KitKat API的设备。所以这意味着API级别10 - 当前。
问题1 我是否必须下载介于两者之间的所有API级别(即3.0,4.0,4.1等等),还是最低和最高的足够?
问题2 如果我最终没有下载这些API级别?用户运行什么,比如4.0),体验?他们完全无法运行应用程序吗?或者它只是意味着我作为开发人员无法在这些级别中使用任何API状态?
我理解可能存在一些兼容性问题,因为我需要自己解决API的变化。
感谢您的澄清。
答案 0 :(得分:1)
您只需下载最新的API即可。你可以在你的应用程序中定义最小的Android版本可以运行它(你应该从低位开始,但是当你添加越来越多的功能时,你将要学习它可能需要增加它)以及你定义的版本和之间的任何内容目前的最高版本是(19,目前)可以运行它。他们可能会有一些不同的体验,但它们一般都是相似的(比如,我的应用程序中有一个ActionBar
,它在JellyBean和Gingerbread之间看起来很不一样,但它仍然存在)。
主要的是,为了向后兼容,有一些支持库,您必须下载并包含在您的应用程序中,默认情况下不存在(例如android-support-v4.jar)。
如果要在更高级别的API设备上包含某些功能,可以使用的一个重要工具是检查current API of the device),然后相应地实施。最重要的是测试不同级别的API,以确保您的应用程序适用于所有这些API。
答案 1 :(得分:1)
回答问题1
您可以使用任何API版本开发应用程序。在Android Manifest.XML文件中,您可以指定应用程序支持的Minimum SDK版本。基于该值,您的应用程序适用于从最小值到当前值的所有API。
请注意,您可以指定支持的MAX SDK值,但不建议这样做。
回答问题2
开发应用程序后,如果您在各种API版本上进行测试,那就很好了。如果您下载不同的平台版本,那么您将能够创建不同的模拟器并测试您的应用程序。但即使您只安装了最新版本,您的应用程序也能正常运行。
此外,作为开发人员,您可以从应用程序代码中使用更高版本支持的某些库,如果应用程序在低API设备中运行,则不要使用这些SDK。您可以通过代码完成此操作。
同样,兼容性问题也可以在代码中解决。
答案 2 :(得分:0)
您可以在清单文件中配置最低和最高API级别。因此您可以覆盖最大设备。请将以下代码放入清单文件中,
<uses-sdk
android:minSdkVersion="15"
android:targetSdkVersion="17" />
因此,您的应用程序可以在API级别介于15到17之间的设备上运行。