Method: generatedapks.list

Returns download metadata for all APKs that were generated from a given app bundle.

HTTP request

GET https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/generatedApks/{versionCode}

The URL uses gRPC Transcoding syntax.

Path parameters

Parameters
packageName

string

Package name of the app.

versionCode

integer

Version code of the app bundle.

Request body

The request body must be empty.

Response body

Response to list generated APKs.

If successful, the response body contains data with the following structure:

JSON representation
{
  "generatedApks": [
    {
      object (GeneratedApksPerSigningKey)
    }
  ]
}
Fields
generatedApks[]

object (GeneratedApksPerSigningKey)

All generated APKs, grouped by the APK signing key.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/androidpublisher

GeneratedApksPerSigningKey

generatedapks.download metadata for split, standalone and universal APKs, as well as asset pack slices, signed with a given key.

JSON representation
{
  "certificateSha256Hash": string,
  "generatedSplitApks": [
    {
      object (GeneratedSplitApk)
    }
  ],
  "generatedAssetPackSlices": [
    {
      object (GeneratedAssetPackSlice)
    }
  ],
  "generatedStandaloneApks": [
    {
      object (GeneratedStandaloneApk)
    }
  ],
  "generatedUniversalApk": {
    object (GeneratedUniversalApk)
  },
  "generatedRecoveryModules": [
    {
      object (GeneratedRecoveryApk)
    }
  ],
  "targetingInfo": {
    object (TargetingInfo)
  }
}
Fields
certificateSha256Hash

string

SHA256 hash of the APK signing public key certificate.

generatedSplitApks[]

object (GeneratedSplitApk)

generatedapks.list of generated split APKs, signed with a key corresponding to certificateSha256Hash.

generatedAssetPackSlices[]

object (GeneratedAssetPackSlice)

generatedapks.list of asset pack slices which will be served for this app bundle, signed with a key corresponding to certificateSha256Hash.

generatedStandaloneApks[]

object (GeneratedStandaloneApk)

generatedapks.list of generated standalone APKs, signed with a key corresponding to certificateSha256Hash.

generatedUniversalApk

object (GeneratedUniversalApk)

Generated universal APK, signed with a key corresponding to certificateSha256Hash. This field is not set if no universal APK was generated for this signing key.

generatedRecoveryModules[]

object (GeneratedRecoveryApk)

Generated recovery apks for recovery actions signed with a key corresponding to certificateSha256Hash. This includes all generated recovery APKs, also those in draft or cancelled state. This field is not set if no recovery actions were created for this signing key.

targetingInfo

object (TargetingInfo)

Contains targeting information about the generated apks.

GeneratedSplitApk

generatedapks.download metadata for a split APK.

JSON representation
{
  "downloadId": string,
  "variantId": integer,
  "moduleName": string,
  "splitId": string
}
Fields
downloadId

string

generatedapks.download ID, which uniquely identifies the APK to download. Should be supplied to generatedapks.download method.

variantId

integer

ID of the generated variant.

moduleName

string

Name of the module that this APK belongs to.

splitId

string

Split ID. Empty for the main split of the base module.

GeneratedAssetPackSlice

generatedapks.download metadata for an asset pack slice.

JSON representation
{
  "downloadId": string,
  "moduleName": string,
  "sliceId": string,
  "version": string
}
Fields
downloadId

string

generatedapks.download ID, which uniquely identifies the APK to download. Should be supplied to generatedapks.download method.

moduleName

string

Name of the module that this asset slice belongs to.

sliceId

string

Asset slice ID.

version

string (int64 format)

Asset module version.

GeneratedStandaloneApk

generatedapks.download metadata for a standalone APK.

JSON representation
{
  "downloadId": string,
  "variantId": integer
}
Fields
downloadId

string

generatedapks.download ID, which uniquely identifies the APK to download. Should be supplied to generatedapks.download method.

variantId

integer

ID of the generated variant.

GeneratedUniversalApk

generatedapks.download metadata for a universal APK.

JSON representation
{
  "downloadId": string
}
Fields
downloadId

string

generatedapks.download ID, which uniquely identifies the APK to download. Should be supplied to generatedapks.download method.

GeneratedRecoveryApk

generatedapks.download metadata for an app recovery module.

JSON representation
{
  "downloadId": string,
  "recoveryId": string,
  "recoveryStatus": enum (RecoveryStatus),
  "moduleName": string
}
Fields
downloadId

string

generatedapks.download ID, which uniquely identifies the APK to download. Should be supplied to generatedapks.download method.

recoveryId

string (int64 format)

ID of the recovery action.

recoveryStatus

enum (RecoveryStatus)

The status of the recovery action corresponding to the recovery apk.

moduleName

string

Name of the module which recovery apk belongs to.

TargetingInfo

Targeting information about the generated apks.

JSON representation
{
  "packageName": string,
  "variant": [
    {
      object (SplitApkVariant)
    }
  ],
  "assetSliceSet": [
    {
      object (AssetSliceSet)
    }
  ]
}
Fields
packageName

string

The package name of this app.

variant[]

object (SplitApkVariant)

generatedapks.list of the created variants.

assetSliceSet[]

object (AssetSliceSet)

generatedapks.list of created asset slices.

SplitApkVariant

Variant is a group of APKs that covers a part of the device configuration space. APKs from multiple variants are never combined on one device.

JSON representation
{
  "targeting": {
    object (VariantTargeting)
  },
  "apkSet": [
    {
      object (ApkSet)
    }
  ],
  "variantNumber": integer
}
Fields
targeting

object (VariantTargeting)

Variant-level targeting.

apkSet[]

object (ApkSet)

Set of APKs, one set per module.

variantNumber

integer

Number of the variant, starting at 0 (unless overridden). A device will receive APKs from the first variant that matches the device configuration, with higher variant numbers having priority over lower variant numbers.

VariantTargeting

Targeting on the level of variants.

JSON representation
{
  "sdkVersionTargeting": {
    object (SdkVersionTargeting)
  },
  "abiTargeting": {
    object (AbiTargeting)
  },
  "screenDensityTargeting": {
    object (ScreenDensityTargeting)
  },
  "multiAbiTargeting": {
    object (MultiAbiTargeting)
  },
  "textureCompressionFormatTargeting": {
    object (TextureCompressionFormatTargeting)
  }
}
Fields
sdkVersionTargeting

object (SdkVersionTargeting)

The sdk version that the variant targets

abiTargeting

object (AbiTargeting)

The abi that the variant targets

screenDensityTargeting

object (ScreenDensityTargeting)

The screen densities that this variant supports

multiAbiTargeting

object (MultiAbiTargeting)

Multi-api-level targeting

textureCompressionFormatTargeting

object (TextureCompressionFormatTargeting)

Texture-compression-format-level targeting

SdkVersionTargeting

Targeting based on sdk version.

JSON representation
{
  "value": [
    {
      object (SdkVersion)
    }
  ],
  "alternatives": [
    {
      object (SdkVersion)
    }
  ]
}
Fields
value[]

object (SdkVersion)

Value of an sdk version.

alternatives[]

object (SdkVersion)

Targeting of other sibling directories that were in the Bundle. For main splits this is targeting of other main splits.

SdkVersion

Represents an sdk version.

JSON representation
{
  "min": integer
}
Fields
min

integer

Inclusive minimum value of an sdk version.

AbiTargeting

Targeting based on Abi.

JSON representation
{
  "value": [
    {
      object (Abi)
    }
  ],
  "alternatives": [
    {
      object (Abi)
    }
  ]
}
Fields
value[]

object (Abi)

Value of an abi.

alternatives[]

object (Abi)

Targeting of other sibling directories that were in the Bundle. For main splits this is targeting of other main splits.

Abi

Represents an Abi.

JSON representation
{
  "alias": enum (AbiAlias)
}
Fields
alias

enum (AbiAlias)

Alias for an abi.

AbiAlias

Alias definition for abis.

Enums
UNSPECIFIED_CPU_ARCHITECTURE Unspecified abi.
ARMEABI ARMEABI abi.
ARMEABI_V7A ARMEABI_V7A abi.
ARM64_V8A ARM64_V8A abi.
X86 X86 abi.
X86_64 X86_64 abi.
RISCV64 RISCV64 abi.

ScreenDensityTargeting

Targeting based on screen density.

JSON representation
{
  "value": [
    {
      object (ScreenDensity)
    }
  ],
  "alternatives": [
    {
      object (ScreenDensity)
    }
  ]
}
Fields
value[]

object (ScreenDensity)

Value of a screen density.

alternatives[]

object (ScreenDensity)

Targeting of other sibling directories that were in the Bundle. For main splits this is targeting of other main splits.

ScreenDensity

Represents a screen density.

JSON representation
{

  // Union field density_oneof can be only one of the following:
  "densityAlias": enum (DensityAlias),
  "densityDpi": integer
  // End of list of possible types for union field density_oneof.
}
Fields

Union field density_oneof.

density_oneof can be only one of the following:

densityAlias

enum (DensityAlias)

Alias for a screen density.

densityDpi

integer

Value for density dpi.

DensityAlias

Alias definition for screen densities.

Enums
DENSITY_UNSPECIFIED Unspecified screen density.
NODPI NODPI screen density.
LDPI LDPI screen density.
MDPI MDPI screen density.
TVDPI TVDPI screen density.
HDPI HDPI screen density.
XHDPI XHDPI screen density.
XXHDPI XXHDPI screen density.
XXXHDPI XXXHDPI screen density.

MultiAbiTargeting

Targeting based on multiple abis.

JSON representation
{
  "value": [
    {
      object (MultiAbi)
    }
  ],
  "alternatives": [
    {
      object (MultiAbi)
    }
  ]
}
Fields
value[]

object (MultiAbi)

Value of a multi abi.

alternatives[]

object (MultiAbi)

Targeting of other sibling directories that were in the Bundle. For main splits this is targeting of other main splits.

MultiAbi

Represents a list of apis.

JSON representation
{
  "abi": [
    {
      object (Abi)
    }
  ]
}
Fields
abi[]

object (Abi)

A list of targeted ABIs, as represented by the Android Platform

TextureCompressionFormatTargeting

Targeting by a texture compression format.

JSON representation
{
  "value": [
    {
      object (TextureCompressionFormat)
    }
  ],
  "alternatives": [
    {
      object (TextureCompressionFormat)
    }
  ]
}
Fields
value[]

object (TextureCompressionFormat)

The list of targeted TCFs. Should not be empty.

alternatives[]

object (TextureCompressionFormat)

generatedapks.list of alternative TCFs (TCFs targeted by the sibling splits).

TextureCompressionFormat

Represents texture compression format.

JSON representation
{
  "alias": enum (TextureCompressionFormatAlias)
}
Fields
alias

enum (TextureCompressionFormatAlias)

Alias for texture compression format.

TextureCompressionFormatAlias

Alias definition for texture compression formats.

Enums
UNSPECIFIED_TEXTURE_COMPRESSION_FORMAT Unspecified format.
ETC1_RGB8 ETC1_RGB8 format.
PALETTED PALETTED format.
THREE_DC THREE_DC format.
ATC ATC format.
LATC LATC format.
DXT1 DXT1 format.
S3TC S3TC format.
PVRTC PVRTC format.
ASTC ASTC format.
ETC2 ETC2 format.

ApkSet

A set of apks representing a module.

JSON representation
{
  "moduleMetadata": {
    object (ModuleMetadata)
  },
  "apkDescription": [
    {
      object (ApkDescription)
    }
  ]
}
Fields
moduleMetadata

object (ModuleMetadata)

Metadata about the module represented by this ApkSet

apkDescription[]

object (ApkDescription)

Description of the generated apks.

ModuleMetadata

Metadata of a module.

JSON representation
{
  "name": string,
  "moduleType": enum (FeatureModuleType),
  "deliveryType": enum (DeliveryType),
  "dependencies": [
    string
  ],
  "targeting": {
    object (ModuleTargeting)
  }
}
Fields
name

string

Module name.

moduleType

enum (FeatureModuleType)

Indicates the type of this feature module.

deliveryType

enum (DeliveryType)

Indicates the delivery type (e.g. on-demand) of the module.

dependencies[]

string

Names of the modules that this module directly depends on. Each module implicitly depends on the base module.

targeting

object (ModuleTargeting)

The targeting that makes a conditional module installed. Relevant only for Split APKs.

FeatureModuleType

Type of the feature module.

Enums
UNKNOWN_MODULE_TYPE Unknown feature module.
FEATURE_MODULE Regular feature module.

DeliveryType

Indicates the delivery type of the module.

Enums
UNKNOWN_DELIVERY_TYPE Unspecified delivery type.
INSTALL_TIME This module will always be downloaded as part of the initial install of the app.
ON_DEMAND This module is requested on-demand, which means it will not be part of the initial install, and will only be sent when requested by the client.
FAST_FOLLOW This module will be downloaded immediately after initial install finishes. The app can be opened before these modules are downloaded.

ModuleTargeting

Targeting on the module level.

JSON representation
{
  "sdkVersionTargeting": {
    object (SdkVersionTargeting)
  },
  "deviceFeatureTargeting": [
    {
      object (DeviceFeatureTargeting)
    }
  ],
  "userCountriesTargeting": {
    object (UserCountriesTargeting)
  }
}
Fields
sdkVersionTargeting

object (SdkVersionTargeting)

The sdk version that the variant targets

deviceFeatureTargeting[]

object (DeviceFeatureTargeting)

Targeting for device features.

userCountriesTargeting

object (UserCountriesTargeting)

Countries-level targeting

DeviceFeatureTargeting

Targeting for a device feature.

JSON representation
{
  "requiredFeature": {
    object (DeviceFeature)
  }
}
Fields
requiredFeature

object (DeviceFeature)

Feature of the device.

DeviceFeature

Represents a device feature.

JSON representation
{
  "featureName": string,
  "featureVersion": integer
}
Fields
featureName

string

Name of the feature.

featureVersion

integer

The feature version specified by android:glEsVersion or android:version in in the AndroidManifest.

UserCountriesTargeting

Describes an inclusive/exclusive list of country codes that module targets.

JSON representation
{
  "countryCodes": [
    string
  ],
  "exclude": boolean
}
Fields
countryCodes[]

string

generatedapks.list of country codes in the two-letter CLDR territory format.

exclude

boolean

Indicates if the list above is exclusive.

ApkDescription

Description of the created apks.

JSON representation
{
  "targeting": {
    object (ApkTargeting)
  },
  "path": string,

  // Union field apk_metadata_oneof_value can be only one of the following:
  "splitApkMetadata": {
    object (SplitApkMetadata)
  },
  "standaloneApkMetadata": {
    object (StandaloneApkMetadata)
  },
  "instantApkMetadata": {
    object (SplitApkMetadata)
  },
  "assetSliceMetadata": {
    object (SplitApkMetadata)
  }
  // End of list of possible types for union field apk_metadata_oneof_value.
}
Fields
targeting

object (ApkTargeting)

Apk-level targeting.

path

string

Path of the Apk, will be in the following format: .apk where DownloadId is the ID used to download the apk using GeneratedApks.Download API.

Union field apk_metadata_oneof_value.

apk_metadata_oneof_value can be only one of the following:

splitApkMetadata

object (SplitApkMetadata)

Set only for Split APKs.

standaloneApkMetadata

object (StandaloneApkMetadata)

Set only for standalone APKs.

instantApkMetadata

object (SplitApkMetadata)

Set only for Instant split APKs.

assetSliceMetadata

object (SplitApkMetadata)

Set only for asset slices.

ApkTargeting

Represents a set of apk-level targetings.

JSON representation
{
  "abiTargeting": {
    object (AbiTargeting)
  },
  "languageTargeting": {
    object (LanguageTargeting)
  },
  "screenDensityTargeting": {
    object (ScreenDensityTargeting)
  },
  "sdkVersionTargeting": {
    object (SdkVersionTargeting)
  },
  "textureCompressionFormatTargeting": {
    object (TextureCompressionFormatTargeting)
  },
  "multiAbiTargeting": {
    object (MultiAbiTargeting)
  }
}
Fields
abiTargeting

object (AbiTargeting)

The abi that the apk targets

languageTargeting

object (LanguageTargeting)

The language that the apk targets

screenDensityTargeting

object (ScreenDensityTargeting)

The screen density that this apk supports.

sdkVersionTargeting

object (SdkVersionTargeting)

The sdk version that the apk targets

textureCompressionFormatTargeting

object (TextureCompressionFormatTargeting)

Texture-compression-format-level targeting

multiAbiTargeting

object (MultiAbiTargeting)

Multi-api-level targeting.

LanguageTargeting

Targeting based on language.

JSON representation
{
  "value": [
    string
  ],
  "alternatives": [
    string
  ]
}
Fields
value[]

string

ISO-639: 2 or 3 letter language code.

alternatives[]

string

Alternative languages.

SplitApkMetadata

Holds data specific to Split APKs.

JSON representation
{
  "splitId": string,
  "isMasterSplit": boolean
}
Fields
splitId

string

Id of the split.

isMasterSplit

boolean

Indicates whether this APK is the main split of the module.

StandaloneApkMetadata

Holds data specific to Standalone APKs.

JSON representation
{
  "fusedModuleName": [
    string
  ]
}
Fields
fusedModuleName[]

string

Names of the modules fused in this standalone APK.

AssetSliceSet

Set of asset slices belonging to a single asset module.

JSON representation
{
  "assetModuleMetadata": {
    object (AssetModuleMetadata)
  },
  "apkDescription": [
    {
      object (ApkDescription)
    }
  ]
}
Fields
assetModuleMetadata

object (AssetModuleMetadata)

Module level metadata.

apkDescription[]

object (ApkDescription)

Asset slices.

AssetModuleMetadata

Metadata of an asset module.

JSON representation
{
  "name": string,
  "deliveryType": enum (DeliveryType)
}
Fields
name

string

Module name.

deliveryType

enum (DeliveryType)

Indicates the delivery type for persistent install.