# Build.VERSION

Added in[API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  
Summary:[Fields](https://developer.android.com/reference/android/os/Build.VERSION#lfields)\|[Ctors](https://developer.android.com/reference/android/os/Build.VERSION#pubctors)\|[Inherited Methods](https://developer.android.com/reference/android/os/Build.VERSION#inhmethods)  

# Build.VERSION

*** ** * ** ***

[Kotlin](https://developer.android.com/reference/kotlin/android/os/Build.VERSION "View this page in Kotlin")\|Java

`
public
static


class
Build.VERSION
`  
`

extends `[Object](https://developer.android.com/reference/java/lang/Object)`


``


`

|---|--------------------------|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.os.Build.VERSION |

<br />

*** ** * ** ***

Various version strings.

## Summary

|                                                                                                                                                                                                 ### Fields                                                                                                                                                                                                  ||
|-------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` public static final `[String](https://developer.android.com/reference/java/lang/String) | [BASE_OS](https://developer.android.com/reference/android/os/Build.VERSION#BASE_OS) The base OS build the product is based on.                                                                                                                                                                                   |
| ` public static final `[String](https://developer.android.com/reference/java/lang/String) | [CODENAME](https://developer.android.com/reference/android/os/Build.VERSION#CODENAME) The current development codename, or the string "REL" if this is a release build.                                                                                                                                          |
| ` public static final `[String](https://developer.android.com/reference/java/lang/String) | [INCREMENTAL](https://developer.android.com/reference/android/os/Build.VERSION#INCREMENTAL) The internal value used by the underlying source control to represent this build.                                                                                                                                    |
| ` public static final int`                                                                | [MEDIA_PERFORMANCE_CLASS](https://developer.android.com/reference/android/os/Build.VERSION#MEDIA_PERFORMANCE_CLASS) The media performance class of the device or 0 if none.                                                                                                                                      |
| ` public static final int`                                                                | [PREVIEW_SDK_INT](https://developer.android.com/reference/android/os/Build.VERSION#PREVIEW_SDK_INT) The developer preview revision of a prerelease SDK.                                                                                                                                                          |
| ` public static final `[String](https://developer.android.com/reference/java/lang/String) | [RELEASE](https://developer.android.com/reference/android/os/Build.VERSION#RELEASE) The user-visible version string.                                                                                                                                                                                             |
| ` public static final `[String](https://developer.android.com/reference/java/lang/String) | [RELEASE_OR_CODENAME](https://developer.android.com/reference/android/os/Build.VERSION#RELEASE_OR_CODENAME) The version string.                                                                                                                                                                                  |
| ` public static final `[String](https://developer.android.com/reference/java/lang/String) | [RELEASE_OR_PREVIEW_DISPLAY](https://developer.android.com/reference/android/os/Build.VERSION#RELEASE_OR_PREVIEW_DISPLAY) The version string we show to the user; may be[RELEASE](https://developer.android.com/reference/android/os/Build.VERSION#RELEASE)or a descriptive string if not a final release build. |
| ` public static final `[String](https://developer.android.com/reference/java/lang/String) | [SDK](https://developer.android.com/reference/android/os/Build.VERSION#SDK) *This field was deprecated in API level 15. Use[SDK_INT](https://developer.android.com/reference/android/os/Build.VERSION#SDK_INT)to easily get this as an integer.*                                                                 |
| ` public static final int`                                                                | [SDK_INT](https://developer.android.com/reference/android/os/Build.VERSION#SDK_INT) The SDK version of the software currently running on this hardware device.                                                                                                                                                   |
| ` public static final int`                                                                | [SDK_INT_FULL](https://developer.android.com/reference/android/os/Build.VERSION#SDK_INT_FULL) The major and minor SDK version of the software currently running on this hardware device.                                                                                                                         |
| ` public static final `[String](https://developer.android.com/reference/java/lang/String) | [SECURITY_PATCH](https://developer.android.com/reference/android/os/Build.VERSION#SECURITY_PATCH) The user-visible security patch level.                                                                                                                                                                         |

|                                     ### Public constructors                                      ||
|-----------------------------------------------------------------------------------------------|---|
| ` `[VERSION](https://developer.android.com/reference/android/os/Build.VERSION#VERSION())`() ` |

| ### Inherited methods |
|-----------------------|---|
| From class` `[java.lang.Object](https://developer.android.com/reference/java/lang/Object)` ` |--------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` `[Object](https://developer.android.com/reference/java/lang/Object)          | ` `[clone](https://developer.android.com/reference/java/lang/Object#clone())`() ` Creates and returns a copy of this object.                                                                                                                                                      | | ` boolean`                                                                     | ` `[equals](https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object))`(`[Object](https://developer.android.com/reference/java/lang/Object)` obj) ` Indicates whether some other object is "equal to" this one.                                           | | ` void`                                                                        | ` `[finalize](https://developer.android.com/reference/java/lang/Object#finalize())`() ` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.                                                          | | ` final `[Class](https://developer.android.com/reference/java/lang/Class)`<?>` | ` `[getClass](https://developer.android.com/reference/java/lang/Object#getClass())`() ` Returns the runtime class of this`Object`.                                                                                                                                                | | ` int`                                                                         | ` `[hashCode](https://developer.android.com/reference/java/lang/Object#hashCode())`() ` Returns a hash code value for the object.                                                                                                                                                 | | ` final void`                                                                  | ` `[notify](https://developer.android.com/reference/java/lang/Object#notify())`() ` Wakes up a single thread that is waiting on this object's monitor.                                                                                                                            | | ` final void`                                                                  | ` `[notifyAll](https://developer.android.com/reference/java/lang/Object#notifyAll())`() ` Wakes up all threads that are waiting on this object's monitor.                                                                                                                         | | ` `[String](https://developer.android.com/reference/java/lang/String)          | ` `[toString](https://developer.android.com/reference/java/lang/Object#toString())`() ` Returns a string representation of the object.                                                                                                                                            | | ` final void`                                                                  | ` `[wait](https://developer.android.com/reference/java/lang/Object#wait(long,%20int))`(long timeoutMillis, int nanos) ` Causes the current thread to wait until it is awakened, typically by being*notified* or*interrupted*, or until a certain amount of real time has elapsed. | | ` final void`                                                                  | ` `[wait](https://developer.android.com/reference/java/lang/Object#wait(long))`(long timeoutMillis) ` Causes the current thread to wait until it is awakened, typically by being*notified* or*interrupted*, or until a certain amount of real time has elapsed.                   | | ` final void`                                                                  | ` `[wait](https://developer.android.com/reference/java/lang/Object#wait())`() ` Causes the current thread to wait until it is awakened, typically by being*notified* or*interrupted*.                                                                                             | ||

## Fields

### BASE_OS

Added in[API level 23](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final String BASE_OS
```

The base OS build the product is based on.

<br />

### CODENAME

Added in[API level 4](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final String CODENAME
```

The current development codename, or the string "REL" if this is a release build.

<br />

### INCREMENTAL

Added in[API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final String INCREMENTAL
```

The internal value used by the underlying source control to represent this build. E.g., a perforce changelist number or a git hash.

<br />

### MEDIA_PERFORMANCE_CLASS

Added in[API level 31](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int MEDIA_PERFORMANCE_CLASS
```

The media performance class of the device or 0 if none.

If this value is not`0`, the device conforms to the media performance class definition of the SDK version of this value. This value never changes while a device is booted, but it may increase when the hardware manufacturer provides an OTA update.

Possible non-zero values are defined in[Build.VERSION_CODES](https://developer.android.com/reference/android/os/Build.VERSION_CODES)starting with[Build.VERSION_CODES.R](https://developer.android.com/reference/android/os/Build.VERSION_CODES#R).

<br />

### PREVIEW_SDK_INT

Added in[API level 23](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int PREVIEW_SDK_INT
```

The developer preview revision of a prerelease SDK. This value will always be`0`on production platform builds/devices.

When this value is nonzero, any new API added since the last officially published[API level](https://developer.android.com/reference/android/os/Build.VERSION#SDK_INT)is only guaranteed to be present on that specific preview revision. For example, an API`Activity.fooBar()`might be present in preview revision 1 but renamed or removed entirely in preview revision 2, which may cause an app attempting to call it to crash at runtime.

Experimental apps targeting preview APIs should check this value for equality (`==`) with the preview SDK revision they were built for before using any prerelease platform APIs. Apps that detect a preview SDK revision other than the specific one they expect should fall back to using APIs from the previously published API level only to avoid unwanted runtime exceptions.

<br />

<br />

### RELEASE

Added in[API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final String RELEASE
```

The user-visible version string. E.g., "1.0" or "3.4b5" or "bananas". This field is an opaque string. Do not assume that its value has any particular structure or that values of RELEASE from different releases can be somehow ordered.

<br />

### RELEASE_OR_CODENAME

Added in[API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final String RELEASE_OR_CODENAME
```

The version string. May be[RELEASE](https://developer.android.com/reference/android/os/Build.VERSION#RELEASE)or[CODENAME](https://developer.android.com/reference/android/os/Build.VERSION#CODENAME)if not a final release build.

<br />

### RELEASE_OR_PREVIEW_DISPLAY

Added in[API level 33](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final String RELEASE_OR_PREVIEW_DISPLAY
```

The version string we show to the user; may be[RELEASE](https://developer.android.com/reference/android/os/Build.VERSION#RELEASE)or a descriptive string if not a final release build.

<br />

### SDK

Added in[API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  
Deprecated in[API level 15](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final String SDK
```

<br />

**This field was deprecated in API level 15.**   
Use[SDK_INT](https://developer.android.com/reference/android/os/Build.VERSION#SDK_INT)to easily get this as an integer.

The user-visible SDK version of the framework in its raw String representation; use[SDK_INT](https://developer.android.com/reference/android/os/Build.VERSION#SDK_INT)instead.

<br />

### SDK_INT

Added in[API level 4](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int SDK_INT
```

The SDK version of the software currently running on this hardware device. This value never changes while a device is booted, but it may increase when the hardware manufacturer provides an OTA update.

This constant records the major version of Android. Use[SDK_INT_FULL](https://developer.android.com/reference/android/os/Build.VERSION#SDK_INT_FULL)if you need to consider the minor version of Android as well.

Possible values are defined in[Build.VERSION_CODES](https://developer.android.com/reference/android/os/Build.VERSION_CODES).

<br />

**See also:**

- [SDK_INT_FULL](https://developer.android.com/reference/android/os/Build.VERSION#SDK_INT_FULL)  

### SDK_INT_FULL

Added in[API level 36](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int SDK_INT_FULL
```

The major and minor SDK version of the software currently running on this hardware device. This value never changes while a device is booted, but it may increase when the hardware manufacturer provides an OTA update.

`SDK_INT`is increased on new Android dessert releases, also called major releases. Between these, Android may also release minor releases where`SDK_INT`remains unchanged. Minor releases can add new APIs, and have stricter guarantees around backwards compatibility (e.g. no changes gated by`targetSdkVersion`) compared to major releases.

`SDK_INT_FULL`is increased on every release.

Possible values are defined in[Build.VERSION_CODES_FULL](https://developer.android.com/reference/android/os/Build.VERSION_CODES_FULL).

<br />

### SECURITY_PATCH

Added in[API level 23](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final String SECURITY_PATCH
```

The user-visible security patch level. This value represents the date when the device most recently applied a security patch.

<br />

## Public constructors

### VERSION

```
public VERSION ()
```

<br />

<br />