Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Forward or Backward Compatibility in Android?

I would like to know whether the Android provides any sort of compatibility i.e either forward or backward. It means as in Blackberry if develop an Application with JDE 4.2 then that application will work on any handset with OS 4.2 or higher which means it has forward compatibility. Is there anything similar in Android?

Suppose I develop application with Android SDK 1.5 then will that application work on any handset having OS 1.5 or higher.

Hope to get a reply soon.

Thanks & Regards Sunil

like image 276
sunil Avatar asked Jan 29 '10 05:01

sunil


2 Answers

Forward compat is somewhat assured on major versions. On Android you target a minimum api spec. As long as your are not calling private APIs, Google keeps compatibility going forward on devices that join in on their Open Mobile Alliance.

It doesn't mean someone can't get the Android source and release an Android based OS of their own that breaks all compatibility. These devices wouldn't get Google's Market Place because only licensed devices that Google tests get to use that. If that is where you are releasing, you probably won't have any trouble.

like image 83
Zac Bowling Avatar answered Sep 19 '22 11:09

Zac Bowling


Because the Android documentation is licensed under the Apache license, I'm comfortable quoting a large section:

Android applications are generally forward-compatible with new versions of the Android platform.

Because almost all changes to the framework API are additive, an Android application developed using any given version of the API (as specified by its API Level) is forward-compatible with later versions of the Android platform and higher API levels. The application should be able to run on all later versions of the Android platform, except in isolated cases where the application uses a part of the API that is later removed for some reason.

Forward compatibility is important because many Android-powered devices receive over-the-air (OTA) system updates. The user may install your application and use it successfully, then later receive an OTA update to a new version of the Android platform. Once the update is installed, your application will run in a new run-time version of the environment, but one that has the API and system capabilities that your application depends on.

...

Android applications are not necessarily backward compatible with versions of the Android platform older than the version against which they were compiled.

Each new version of the Android platform can include new framework APIs, such as those that give applications access to new platform capabilities or replace existing API parts.

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

Though they are forward compatible, Android apps will not be able to use features of the SDK that were introduced after they were written, not surprisingly.

like image 37
user1880946 Avatar answered Sep 19 '22 11:09

user1880946