10

我想知道 Android 是否提供任何类型的兼容性,即向前或向后。这意味着就像在黑莓中一样,如果使用 JDE 4.2 开发应用程序,那么该应用程序将在任何具有 OS 4.2 或更高版本的手机上运行,​​这意味着它具有向前兼容性。Android中是否有类似的东西?

假设我使用 Android SDK 1.5 开发应用程序,那么该应用程序可以在任何具有 OS 1.5 或更高版本的手机上运行。

希望尽快得到答复。

感谢和问候苏尼尔

4

4 回答 4

10

前向兼容在主要版本上有所保证。在 Android 上,您的目标是最低 api 规范。只要您不调用私有 API,Google 就会在加入其开放移动联盟的设备上保持兼容性。

这并不意味着有人无法获得 Android 源代码并发布自己的基于 Android 的操作系统,这会破坏所有兼容性。这些设备不会获得 Google 的 Market Place,因为只有经过 Google 测试的许可设备才能使用它。如果那是你发布的地方,你可能不会有任何麻烦。

于 2010-01-29T06:13:59.260 回答
6

因为 Android 文档是在 Apache 许可下获得许可的,所以我很乐意引用大部分内容:

Android 应用程序通常与新版本的 Android 平台向前兼容。

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

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

...

Android 应用程序不一定向后兼容早于编译它们的版本的 Android 平台版本。

Android 平台的每个新版本都可以包含新的框架 API,例如那些允许应用程序访问新平台功能或替换现有 API 部分的 API。

-- 来自:http: //developer.android.com/guide/topics/manifest/uses-sdk-element.html

尽管它们是向前兼容的,但 Android 应用程序将无法使用编写后引入的 SDK 功能,这并不奇怪。

于 2012-12-09T23:41:38.737 回答
3

这不是“向前兼容性”的意思。您正在考虑“向后兼容性”。“向后兼容性”意味着新版本的平台(即 Android)仍将运行针对旧版本平台开发的旧软件。“前向兼容性”正好相反——针对旧版本平台开发的旧软件仍然能够利用新平台的功能。

向后兼容的一个例子是,他们重命名了 ICS 中的一个方法,但仍然实现了旧方法的弃用版本,并将其转发到新实现。

虽然几乎总是保证向后兼容性,但仅在某些情况下才能保证向前兼容性。前向兼容性的一个例子是他们在操作系统中实现了一项新功能(例如,“捏合缩放”)并且在该功能存在之前编写的应用程序仍然能够享受此功能。

于 2012-06-15T01:35:37.630 回答
0

我认为Android系统是向后兼容的,这保证了Android应用程序的向前兼容。

于 2012-06-15T01:02:01.283 回答