我想知道Android是否提供任何类型的兼容性,即向前或向后。这意味着如果在Blackberry中使用JDE 4.2开发应用程序,那么该应用程序将适用于任何具有OS 4.2或更高版本的手机,这意味着它具有向前兼容性。 Android中有类似的东西吗?
假设我使用Android SDK 1.5开发应用程序,那么该应用程序可以在任何具有OS 1.5或更高版本的手机上运行。
希望尽快得到回复。
谢谢&问候 苏尼
答案 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应用程序的向前兼容性。