安卓中的功能向后兼容性



我在装有 android 6.0.1 的设备上运行开发的应用程序时遇到了一些错误,该应用程序在装有 Android 2.3.6 的设备上完美运行。我正在为两个设备使用相同的构建应用程序(为 Android API 10 编译)。

错误是关于新活动启动和选择联系人时应用程序被关闭,我知道如何为该设备解决这些问题,但问题是从我所读到的内容来看,我认为 android 在功能向后兼容方面没有问题(也许可能存在一些图形问题,但没有任何东西会使应用程序崩溃, 因为它发生在我身上)。

所以我想知道这是否只是发生在我身上的一些特殊事件,最有可能的事情是,一旦我在更多的 android 版本中检查这些错误并修复应用程序的代码以在它们上运行,类似这些错误的事情不会再发生,或者这样的事件是否相对常见。如果是这种情况,那么必须检查并可能针对许多版本进行相应开发听起来很痛苦,所以我想知道是否有一些捷径,即使它不能提供 100% 的安全性让应用程序正确功能开发,它提供了很大比例的安全性。

我认为一般来说,应用程序是向前兼容的,但前提是您确保不使用私有或未记录的 API。

例如,当我第一次开始使用Android时,网络上有一堆关于如何发送和接收文本消息的信息,这些信息在Google文档中根本没有提及。 使用该信息(未记录的 api)会导致我的应用程序在 KitKat 出现并为此目的引入并正式记录的 api 时崩溃,因为同时他们删除了未记录的 API 中可用的功能。 详情请看这里。上面的例子。

以下是有关兼容性的一些信息的链接: https://developer.android.com/guide/topics/manifest/uses-sdk-element.html

以及相关部分的截图

应用程序向前兼容性 Android 应用程序一般 向前兼容新版本的安卓平台。

由于对框架 API 的几乎所有更改都是累加的,因此 使用任何给定版本的 API 开发的 Android 应用程序(如 由其 API 级别指定)与更高版本向前兼容 的 Android 平台和更高的 API 级别。应用程序应 能够在所有更高版本的 Android 平台上运行,除了 在应用程序使用部分 API 的孤立情况下 后来由于某种原因被删除。

向前兼容性很重要,因为许多Android驱动的兼容性很重要 设备接收无线 (OTA) 系统更新。用户可以 安装您的应用程序并成功使用它,然后收到 对新版本安卓平台的 OTA 更新。一旦 更新已安装,您的应用程序将在新的运行时中运行 环境版本,但具有 API 和系统 应用程序所依赖的功能。

在某些情况下,API 下方的更改,例如底层中的更改 系统本身,在新的 环境。出于这个原因,它对你很重要,因为 应用程序开发人员,了解应用程序的外观和 在每个系统环境中的行为。帮助您测试应用程序 在各种版本的安卓平台上,安卓SDK包括 您可以下载的多个平台。每个平台都包括一个 您可以在 AVD 中运行的兼容系统映像,以测试您的 应用。

最新更新