86

I'm new to Android developing, and I would like to know what is the connection or difference between the version and the API level. What is each one referring to? And what does it mean when I decide to develop some app for API 14 or for android version 4.0?

Or is one a subset of the other? I simply didn't get the difference, and why are there two counters?

Thanks

Hambone
  • 13,222
  • 6
  • 37
  • 59
Ramzi Khahil
  • 4,434
  • 4
  • 33
  • 65

9 Answers9

79

Well, API is for development, so the changes in new API version are more "inside". But new version of Android usually adds more features for users, that are "visible".

Check this page http://developer.android.com/guide/appendix/api-levels.html, there is a table that shows relations between versions and API levels.

Jaa-c
  • 4,816
  • 3
  • 31
  • 63
27

Multiple versions of Android can have the same API level but the API as an integer allows developers to more easily target devices. The chart below will give you an idea of their relationship but only the documentation contains exhaustive listings of the API levels and how they differ from each other.

Platform Versions

Source: developer.android.com.

Because this data is gathered from the new Google Play Store app, which supports Android 2.2 and above, devices running older versions are not included. However, in August, 2013, versions older than Android 2.2 accounted for about 1% of devices that checked in to Google servers (not those that actually visited Google Play Store).

Turtuvshin Byambaa
  • 579
  • 1
  • 9
  • 23
Alastair
  • 6,451
  • 3
  • 33
  • 29
10

In addition to the answers provided, there is a detailed explanation of the Android Platform usage on Wikipedia (permalink).

This table will give you a highlight of Android API vs Version.

enter image description here

dsharew
  • 9,287
  • 5
  • 40
  • 66
4

API Level is an integer value that uniquely identifies the framework API revision offered by a version of the Android platform.

You can have a new Android version with the same API release as the previous version.

Check out https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels

Pang
  • 8,605
  • 144
  • 77
  • 113
Rick
  • 1,134
  • 9
  • 13
2

A device running Android with version X will usually support applications written for API X and below.

This means if you want your app to support API 8, devices ver 8 will be able to run it, but also devices of ver 9, 10, 11, etc.

Here is the table which explains the ties between the numbers: http://developer.android.com/guide/appendix/api-levels.html

talkol
  • 12,066
  • 10
  • 51
  • 62
1

In a short note:

Main difference between them is that API level for android application development framework API on the other hand android version is maintained to mention new features to user level.

In details:

API Level is an integer value that uniquely identifies the framework API revision offered by a version of the Android platform.

The Android platform provides a framework API that applications can use to interact with the underlying Android system. The framework API consists of:

  • A core set of packages and classes
  • A set of XML elements and attributes for declaring a manifest file
  • A set of XML elements and attributes for declaring and accessing resources
  • A set of Intents
  • A set of permissions that applications can request, as well as permission enforcements included in the system

For more details you can visit this link: https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels

Monir Zzaman
  • 371
  • 3
  • 7
0

API = a set of functions and procedures allowing the creation of applications that access the features or data of an operating system, application, or other service.

Android = Android is a mobile operating system developed by Google.

So if we develop new API with new features they can be not supported in old android operation system, so we take old operation system , ++ version add support for new API and there we go (:

on the other hand if we have new operation system with new features we want to upgrade old API to support it, so we ++ version of the API.

Sound weird yeah ?

Stav Bodik
  • 1,490
  • 1
  • 14
  • 21
0

Lets you express an application's compatibility with one or more versions of the Android platform, by means of an API Level integer. The API Level expressed by an application will be compared to the API Level of a given Android system, which may vary among different Android devices.

Despite its name, this element is used to specify the API Level, not the version number of the SDK (software development kit) or Android platform. The API Level is always a single integer. You cannot derive the API Level from its associated Android version number (for example, it is not the same as the major version or the sum of the major and minor versions).

The Android platform provides a framework API that applications can use to interact with the underlying Android system. The framework API consists

To know more about API Levels: API Level enter image description here

Users need to have specific information about the app version that is installed on their devices and the upgrade versions available for installation.

Android OS Versions starting from Android 1.0 till Android 10. Here is the list of all Android Versions names:

To More: Version your app

Paresh Mangukiya
  • 14,668
  • 7
  • 90
  • 90
0

In simple words:

Android Version : Android is basically a mobile operating system developed by a consortium of developers known as the Open Handset Alliance and commercially sponsored by Google and they keep on updating Android by adding new features. So every new version of android have a version number known as Android version

API Level : API Level allow us to specify an app's/application's compatibility with one or more versions of Android, by means of an integer. Each versions of Android is associated with an API Level. So on a device the API Level expressed by an app/application is compared to the API Level associated with the version of the Android installed on the device.

Prateek Gupta
  • 1,462
  • 2
  • 7
  • 21