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

Asked by: Elise498 | Posted: 20-01-2022

Answer 1

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.

Answered by: Owen498 | Posted: 21-02-2022

Answer 2

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:

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.

Answered by: Dominik437 | Posted: 21-02-2022

Answer 3

That's not what "forwards compatibility" means. You are thinking of "backwards compatibility". "Backwards compatibility" means that new versions of the platform (i.e. Android) will still run old software developed against an older version of the platform. "Forwards compatibility" is the precise converse -- older software developed against an older version of the platform will still be able to leverage new features of the new platform.

An example of backwards compatibility is that they rename one of the methods in ICS but still implement a deprecated version of the old method and have it forward to the new implementation.

While backwards compatibility is almost always guaranteed, forwards compatibility is only guaranteed in certain scenarios. An example of forward compatibility would be a situatation where they implement a new feature in the OS (for example, "pinch to zoom") and applications written before that feature existed are still able to enjoy this feature.

Answered by: Abigail145 | Posted: 21-02-2022

Answer 4

I think Android System is backward-compatible, and that ensures the forward compatibility of Android application.

Answered by: Adrian488 | Posted: 21-02-2022

Similar questions

Android backward code compatibility

I'm developing an app that uses android.hardware.Camera.parameters.getSupportedPictureSizes() This is only available from SDK version 8 and I would like to be compatible with SDK 4, so I've done this: if(Build.VERSION.SDK_INT >=8){...} But on the emulator, it seams that it tries to check the reference to this function, and it fails:

sdk - Android backward compatibility

Currently I am developing Android project for old sdk version. However - new SDK versions have been released and thinking to use new features in the UI. If I want the application to run also on the old SDK devices, how can I make a single APK for all devices (for new SDK devices will use new features)? Is it possible? Or should I create different releases? Example - ActionBar is on SDK ver. 3.0 and latest, ...

Android backward compatibility but still utilise latest API features

I have noted in the Android Market that many popular applications have backward compatibility to much earlier versions of Android. E.g. Evernote - 1.6 Faceobook Messenger - 2.2 These applications look and work great but how can they do this and support much older API levels? Are they only using API features that exist in the lowest supported OS version, hardly? I'm assuming they must be us...

android - How to open native maps from full mode website in iOS6 with backward compatibility

Need to open native maps app on iPhone and/or android phones out of a mobile website. Currently I did this by simply open a link. Since iOS6 is released this seems not working any more. Are there any standardized or at least well known methods to accomplish opening native maps on most platforms? If not, can I check the mobile OS to do some special things on every mobile phone?

Android maps API v2 backward compatibility

As I understand application with new maps SDK v2 can be installed only on devices with Google Play services APK. And v1 keys will not be available after 3/2013, so does it means I can't build today map application which runs on most of Android devices?

Android Hidden API backward compatibility

I am building an app for our lab experiment (no intentions of releasing on google play). The app requires use of Android's hidden API. I found an app on google play store that is doing similar stuff by using those hidden APIs. The app has min and target sdk versions set to 3 and 7 respectively. However, when I tried this app on my emulater (AVD running API 18) the app still works. However, when I used thos...

c# - Unity Asset Bundles backward compatibility

I am working in a project, and we use Unity3D ... we are loading our Asset Bundles Dynamically. But we want to add the backward compatibility between the versions of our app. Let's say that I release version 1.05.0 and the user loaded a certain Asset Bundle, After that the user downloaded version 1.06.0 which contains some changes in some scripts that were used in version 1.05.0 Could I make version 1.06.0 ...

android - Backward compatibility Material Design

As Google says in this page, Material Theme is only available on Android L Developer Preview. But how can these apps work on previous version of Android L? ...

Android Design Support Library More Than Backward Compatibility?

Is Android Design Support Library only for backward compatibility or does it have features that are worth using even if you are not interested in backward compatibility?

Android 6.0 backward compatibility

Today I was testing one of my application over Android M (6.0). I understood that permission granting in this version is changed and I need to make some changes to make my application compatible with Android 6.0 (here is the details). As I understood, for example If I want to grant access to write sdcard (Etern...

android - os compatibility on mobiles

i want to develop an application on android,webos,wince. how to develop application that should run on all paltform with developing each paltform

Image compatibility in iphone and android

I developed UI for iphone apps and now want to use the same UI in Android apps. I read that Android use dip for image resolution and i also read that 1 dip=1.5 pixel.I simply multiply the image size by 1.5px. Now the problem is that the image is blur and not as clear as in iphone apps.So will some body suggest me how should i make a design so that it could be used in iphone and android.

Java ME compatibility layer for Android

Is there any Java ME compatibility layer for Android, which makes porting Java ME (aka. J2ME) applications easier? I mean a third party class library which redirects calls to internal Android API.

android - Application compatibility between versions

I can run my application on 1.5, 1.6 and 2.0 emulator and on a 1.5 device without any problems. But some of my users are reporting force close and strange menu entries (see the attachment) using 1.6 and higher version devices. Any ideas? alt text This screen should look like this:

backwards compatibility - Which Android platform and API to target?

I'm just about to launch my first Android app, and it runs on the Android 1.1 platform, API Level 2, but is this what I should officially sign and launch the app as? Does it affect performance at all or is it simply for Android to know which devices it works on? The only problem I see is that I can't specify <supports-screens> in the Manifest, which I would like to do, but it appears I'd have to launch at 1....

iphone - jQuery and mobile browser compatibility?

I want to build a relatively simple version of my site for mobile phones, but I will definitely need JavaScript and jQuery for many functions. Googling didn't help to find an answer. How is compatibility of jQuery with popular browsers in mobile phones? I am talking for smartphones. For example, the default browsers for these platforms

Android forwards compatibility

I just published my first application to the market, but i just found out that android.telephony.gsm.smsmanager was depreciated as of Android 1.6. My application depends on sending SMS messages, so it cannot not work in 1.6 or newer. I built the project against 1.5, but I only have a device with 1.5 to test on. Since I built on 1.5, am I fine in terms of newer OSes, or will users get force closes? Thanks i...

Android 2.2 SDK breaks compatibility with older phones

I have recently updated my app to a build tarket of SDK version 8 in order to include the App2SD feature for my users. However I have had reports of devices on SDK 3 (1.5) having problems starting the application, with the following stack trace: ... E/AndroidRuntime(10638): Caused by: android.content.res.Resources$NotFoundException: File res/drawable/title_bar_shadow.9.png from drawable resourc...

Android: Device Compatibility

I program and test using the Droid Incredible. The other day my friend downloaded my alpha version, which works flawlessy on the Incredible, but crashed on his Moto Droid. I just updated my app to use 2.1 api's instead of 1.6; maybe this will make a difference? I upped my min version requirements to 7. My question is how can you make sure your app works on all phones and not just the phone your are building...

compatibility - How can I find why Android market is filtering my app on certain phone

we have an app for Android called OnTheRoad (market://search/?q=pname:eu.inmite.prj.otr.aclient ), but for certain reason, it is not visible if I access Android Market from Vodafone 845 phone (Huawei Joy). The phone has QVGA screen resolution and runs Android 2.1 system. The app is 1.5+ compatible and has enabled support for small screens in its manifest. Another our app has completely same settings and it is perfe...

Still can't find your answer? Check out these communities...

Android Google Support | Android Community | Android Community (Facebook) | Android