Android中的前向或后向兼容性?

时间:2010-01-29 05:22:52

标签: android compatibility forward

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

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

希望尽快得到回复。

谢谢&问候 苏尼

4 个答案:

答案 0 :(得分:10)

对于主要版本,前进compat有点保证。在Android上,您可以定位最低API规范。只要您不打算使用私有API,Google就会继续在加入其开放移动联盟的设备上实现兼容性。

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

答案 1 :(得分:6)

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

  

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

     

因为几乎所有对框架API的更改都是附加的,所以   使用任何给定版本的API开发的Android应用程序(如   由其API级别指定)与更高版本向前兼容   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功能,这并不奇怪。

答案 2 :(得分:3)

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

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

虽然几乎总能保证向后兼容性,但只能在某些情况下保证向前兼容性。前向兼容性的一个示例是在操作系统中实现新功能的情况(例如,“缩放到缩放”),在该功能存在之前编写的应用程序仍然可以享受此功能。

答案 3 :(得分:1)

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