REST Resource: systemapks.variants

  • A Variant represents an APK suitable for inclusion in a system image, containing a variant ID, device specification, and optional system APK options.

  • The DeviceSpec details the supported ABIs, locales, and screen density for a system APK.

  • SystemApkOptions provide boolean flags to configure properties like uncompressed native libraries, uncompressed dex files, and whether to use the rotated key for signing.

  • The methods available for system APK variants include creating, downloading, getting details of, and listing previously created variants.

  • Potential error codes include 5xx for server errors and 409 for concurrency update errors, both suggesting retrying the request.

Resource: Variant

APK that is suitable for inclusion in a system image. The resource of SystemApksService.

JSON representation
{
  "variantId": integer,
  "deviceSpec": {
    object (DeviceSpec)
  },
  "options": {
    object (SystemApkOptions)
  }
}
Fields
variantId

integer (uint32 format)

Output only. The ID of a previously created system APK variant.

deviceSpec

object (DeviceSpec)

The device spec used to generate the APK.

options

object (SystemApkOptions)

Optional. Options applied to the generated APK.

DeviceSpec

The device spec used to generate a system APK.

JSON representation
{
  "supportedAbis": [
    string
  ],
  "supportedLocales": [
    string
  ],
  "screenDensity": integer
}
Fields
supportedAbis[]

string

Supported ABI architectures in the order of preference. The values should be the string as reported by the platform, e.g. "armeabi-v7a", "x86_64".

supportedLocales[]

string

All installed locales represented as BCP-47 strings, e.g. "en-US".

screenDensity

integer (uint32 format)

Screen dpi.

SystemApkOptions

Options for system APKs.

JSON representation
{
  "uncompressedNativeLibraries": boolean,
  "uncompressedDexFiles": boolean,
  "rotated": boolean
}
Fields
uncompressedNativeLibraries

boolean

Whether system APK was generated with uncompressed native libraries.

uncompressedDexFiles

boolean

Whether system APK was generated with uncompressed dex files.

rotated

boolean

Whether to use the rotated key for signing the system APK.

Methods

create

Creates an APK which is suitable for inclusion in a system image from an already uploaded Android App Bundle.

download

Downloads a previously created system APK which is suitable for inclusion in a system image.

get

Returns a previously created system APK variant.

list

Returns the list of previously created system APK variants.

Error codes

The operations of this resource, return the following HTTP error codes:

Error code Reason Description Resolution
400 invalidValue An invalid value was provided in the request. This is often returned for a malformed or invalid purchase token. Correct the invalid field value in the request body or parameters based on the API reference.
400 required A required field or parameter is missing from the request. Consult the API documentation to ensure all mandatory fields and parameters are included.
403 userInsufficientPermission The user does not have sufficient permission to perform the requested operation. Ensure the authenticated user has the necessary permissions in the Google Play Console. See Using a service account for more details.
404 notFound The requested resource could not be found. Verify the identifiers (e.g., purchase token, package name, product ID, subscription ID) are correct.
409 concurrentUpdate There was an attempt to update an object that is being updated concurrently. Retry the request with exponential backoff. Avoid simultaneous modifications to the same resource.
5xx Generic error Generic error in the Google Play server. Retry your request.

If the problem persists contact your Google Play account manager or submit a support request. Consider checking the Play Status Dashboard for any known outages.