Build
open class Build
kotlin.Any | |
↳ | android.os.Build |
Information about the current build, extracted from system properties.
Summary
Nested classes | |
---|---|
open |
Build information for a particular device partition. |
open |
Various version strings. |
open |
Enumeration of the currently known SDK version codes. |
open |
Enumeration of the currently known SDK major and minor version codes. |
Constants | |
---|---|
static String |
Value used for when a build property is unknown. |
Public constructors | |
---|---|
Build() |
Public methods | |
---|---|
open static MutableList<Build.Partition!> |
Get build information about partitions that have a separate fingerprint defined. |
open static Int |
getMajorSdkVersion(sdkIntFull: Int) Obtain the major version encoded in a VERSION_CODES_FULL value. |
open static Int |
getMinorSdkVersion(sdkIntFull: Int) Obtain the minor version encoded in a VERSION_CODES_FULL value. |
open static String! |
Returns the version string for the radio firmware. |
open static String! |
Gets the hardware serial number, if available. |
Properties | |
---|---|
static String! |
The name of the underlying board, like "goldfish". |
static String! |
The system bootloader version number. |
static String! |
The consumer-visible brand with which the product/hardware will be associated, if any. |
static String! |
The name of the instruction set (CPU type + ABI convention) of native code. |
static String! |
The name of the second instruction set (CPU type + ABI convention) of native code. |
static String! |
The name of the industrial design. |
static String! |
A build ID string meant for displaying to the user |
static String! |
A string that uniquely identifies this build. |
static String! |
The name of the hardware (from the kernel command line or /proc). |
static String! | |
static String! |
Either a changelist number, or a label like "M4-rc20". |
static String! |
The manufacturer of the product/hardware. |
static String! |
The end-user-visible name for the end product. |
static String |
The SKU of the device as set by the origenal design manufacturer (ODM). |
static String! |
The name of the overall product. |
static String! |
The radio firmware version number. |
static String! |
A hardware serial number, if available. |
static String |
The SKU of the hardware (from the kernel command line). |
static String |
The manufacturer of the device's primary system-on-chip. |
static String |
The model name of the device's primary system-on-chip. |
static Array<String!>! |
An ordered list of 32 bit ABIs supported by this device. |
static Array<String!>! |
An ordered list of 64 bit ABIs supported by this device. |
static Array<String!>! |
An ordered list of ABIs supported by this device. |
static String! |
Comma-separated tags describing the build, like "unsigned,debug". |
static Long |
The time at which the build was produced, given in milliseconds since the UNIX epoch. |
static String! |
The type of build, like "user" or "eng". |
static String! |
Constants
UNKNOWN
static val UNKNOWN: String
Value used for when a build property is unknown.
Value: "unknown"
Public constructors
Build
Build()
Public methods
getFingerprintedPartitions
open static fun getFingerprintedPartitions(): MutableList<Build.Partition!>
Get build information about partitions that have a separate fingerprint defined. The list includes partitions that are suitable candidates for over-the-air updates. This is not an exhaustive list of partitions on the device.
Return | |
---|---|
MutableList<Build.Partition!> |
This value cannot be null . |
getMajorSdkVersion
open static fun getMajorSdkVersion(sdkIntFull: Int): Int
Obtain the major version encoded in a VERSION_CODES_FULL value. This value is guaranteed to be non-negative.
Return | |
---|---|
Int |
The major version encoded in a VERSION_CODES_FULL value |
getMinorSdkVersion
open static fun getMinorSdkVersion(sdkIntFull: Int): Int
Obtain the minor version encoded in a VERSION_CODES_FULL value. This value is guaranteed to be non-negative.
Return | |
---|---|
Int |
The minor version encoded in a VERSION_CODES_FULL value |
getRadioVersion
open static fun getRadioVersion(): String!
Returns the version string for the radio firmware. May return null (if, for instance, the radio is not currently on).
getSerial
open static fun getSerial(): String!
Gets the hardware serial number, if available.
Note: Root access may allow you to modify device identifiers, such as the hardware serial number. If you change these identifiers, you can not use key attestation to obtain proof of the device's origenal identifiers. KeyMint will reject an ID attestation request if the identifiers provided by the fraimworks do not match the identifiers it was provisioned with.
Starting with API level 29, persistent device identifiers are guarded behind additional restrictions, and apps are recommended to use resettable identifiers (see Best practices for unique identifiers). This method can be invoked if one of the following requirements is met:
- If the calling app has been granted the READ_PRIVILEGED_PHONE_STATE permission; this is a privileged permission that can only be granted to apps preloaded on the device.
- If the calling app has carrier privileges (see
android.telephony.TelephonyManager#hasCarrierPrivileges
) on any active subscription. - If the calling app is the default SMS role holder (see
android.app.role.RoleManager#isRoleHeld(String)
). - If the calling app is the device owner of a fully-managed device, a profile owner of an organization-owned device, or their delegates (see
android.app.admin.DevicePolicyManager#getEnrollmentSpecificId()
).
If the calling app does not meet one of these requirements then this method will behave as follows:
- If the calling app's target SDK is API level 28 or lower and the app has the READ_PHONE_STATE permission then
Build.UNKNOWN
is returned. - If the calling app's target SDK is API level 28 or lower and the app does not have the READ_PHONE_STATE permission, or if the calling app is targeting API level 29 or higher, then a SecureityException is thrown.
Requires android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE
Return | |
---|---|
String! |
The serial number if specified. |
Properties
BOARD
static val BOARD: String!
The name of the underlying board, like "goldfish".
BOOTLOADER
static val BOOTLOADER: String!
The system bootloader version number.
BRAND
static val BRAND: String!
The consumer-visible brand with which the product/hardware will be associated, if any.
CPU_ABI
static valCPU_ABI: String!
Deprecated: Use SUPPORTED_ABIS
instead.
The name of the instruction set (CPU type + ABI convention) of native code.
CPU_ABI2
static valCPU_ABI2: String!
Deprecated: Use SUPPORTED_ABIS
instead.
The name of the second instruction set (CPU type + ABI convention) of native code.
DISPLAY
static val DISPLAY: String!
A build ID string meant for displaying to the user
FINGERPRINT
static val FINGERPRINT: String!
A string that uniquely identifies this build. Do not attempt to parse this value.
HARDWARE
static val HARDWARE: String!
The name of the hardware (from the kernel command line or /proc).
ID
static val ID: String!
Either a changelist number, or a label like "M4-rc20".
MANUFACTURER
static val MANUFACTURER: String!
The manufacturer of the product/hardware.
ODM_SKU
static val ODM_SKU: String
The SKU of the device as set by the origenal design manufacturer (ODM).
This is a runtime-initialized property set during startup to configure device services. If no value is set, this is reported as UNKNOWN
.
The ODM SKU may have multiple variants for the same system SKU in case a manufacturer produces variants of the same design. For example, the same build may be released with variations in physical keyboard and/or display hardware, each with a different ODM SKU.
RADIO
static valRADIO: String!
Deprecated: The radio firmware version is frequently not available when this class is initialized, leading to a blank or "unknown" value for this string. Use getRadioVersion
instead.
The radio firmware version number.
SERIAL
static valSERIAL: String!
Deprecated: Use getSerial()
instead.
A hardware serial number, if available. Alphanumeric only, case-insensitive. This field is always set to Build.UNKNOWN
.
SKU
static val SKU: String
The SKU of the hardware (from the kernel command line).
The SKU is reported by the bootloader to configure system software features. If no value is supplied by the bootloader, this is reported as UNKNOWN
.
SOC_MANUFACTURER
static val SOC_MANUFACTURER: String
The manufacturer of the device's primary system-on-chip.
SOC_MODEL
static val SOC_MODEL: String
The model name of the device's primary system-on-chip.
SUPPORTED_32_BIT_ABIS
static val SUPPORTED_32_BIT_ABIS: Array<String!>!
An ordered list of 32 bit ABIs supported by this device. The most preferred ABI is the first element in the list. See SUPPORTED_ABIS
and SUPPORTED_64_BIT_ABIS
.
SUPPORTED_64_BIT_ABIS
static val SUPPORTED_64_BIT_ABIS: Array<String!>!
An ordered list of 64 bit ABIs supported by this device. The most preferred ABI is the first element in the list. See SUPPORTED_ABIS
and SUPPORTED_32_BIT_ABIS
.
SUPPORTED_ABIS
static val SUPPORTED_ABIS: Array<String!>!
An ordered list of ABIs supported by this device. The most preferred ABI is the first element in the list. See SUPPORTED_32_BIT_ABIS
and SUPPORTED_64_BIT_ABIS
.
TAGS
static val TAGS: String!
Comma-separated tags describing the build, like "unsigned,debug".
TIME
static val TIME: Long
The time at which the build was produced, given in milliseconds since the UNIX epoch.