Method: generatedapks.list

返回从指定 app bundle 生成的所有 APK 的下载元数据。

HTTP 请求

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

网址采用 gRPC 转码语法。

路径参数

参数
packageName

string

应用的软件包名称。

versionCode

integer

app bundle 的版本代码。

请求正文

请求正文必须为空。

响应正文

对列出生成的 APK 的响应。

如果成功,响应正文将包含结构如下的数据:

JSON 表示法
{
  "generatedApks": [
    {
      object (GeneratedApksPerSigningKey)
    }
  ]
}
字段
generatedApks[]

object (GeneratedApksPerSigningKey)

所有生成的 APK,均按 APK 签名密钥分组。

授权范围

需要以下 OAuth 作用域:

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

GeneratedApksPerSigningKey

为拆分 APK、独立 APK 和通用 APK 以及资源包 Slice 生成的 apks.download 元数据(使用给定密钥签名)。

JSON 表示法
{
  "certificateSha256Hash": string,
  "generatedSplitApks": [
    {
      object (GeneratedSplitApk)
    }
  ],
  "generatedAssetPackSlices": [
    {
      object (GeneratedAssetPackSlice)
    }
  ],
  "generatedStandaloneApks": [
    {
      object (GeneratedStandaloneApk)
    }
  ],
  "generatedUniversalApk": {
    object (GeneratedUniversalApk)
  },
  "generatedRecoveryModules": [
    {
      object (GeneratedRecoveryApk)
    }
  ],
  "targetingInfo": {
    object (TargetingInfo)
  }
}
字段
certificateSha256Hash

string

APK 签名公钥证书的 SHA256 哈希值。

generatedSplitApks[]

object (GeneratedSplitApk)

生成的拆分 APK 的 generateapks.list,使用与 certificateSha256Hash 对应的密钥进行签名。

generatedAssetPackSlices[]

object (GeneratedAssetPackSlice)

将为此 app bundle 提供的资源包切片的生成的 APKs.list,使用与 certificateSha256Hash 对应的密钥进行签名。

generatedStandaloneApks[]

object (GeneratedStandaloneApk)

生成的独立 APK 的生成的 apks.list,使用与 certificateSha256Hash 对应的密钥进行签名。

generatedUniversalApk

object (GeneratedUniversalApk)

生成的通用 APK,使用与 certificateSha256Hash 对应的密钥进行签名。如果没有为此签名密钥生成通用 APK,就不会设置此字段。

generatedRecoveryModules[]

object (GeneratedRecoveryApk)

为使用与 CertificateSha256Hash 对应的密钥进行签名的恢复操作生成恢复操作。这包括所有已生成的恢复 APK,以及处于草稿或已取消状态的恢复 APK。如果没有为此签名密钥创建恢复操作,则不会设置此字段。

targetingInfo

object (TargetingInfo)

包含与生成的 APK 相关的定位信息。

GeneratedSplitApk

拆分 APK 的 generateapks.download 元数据。

JSON 表示法
{
  "downloadId": string,
  "variantId": integer,
  "moduleName": string,
  "splitId": string
}
字段
downloadId

string

生成的 APK ID,用于唯一标识要下载的 APK。应提供给 generatedapks.download 方法。

variantId

integer

生成的变体的 ID。

moduleName

string

此 APK 所属模块的名称。

splitId

string

拆分 ID。针对基本模块的主分屏为空。

GeneratedAssetPackSlice

资源包切片的生成的 APK 元数据。

JSON 表示法
{
  "downloadId": string,
  "moduleName": string,
  "sliceId": string,
  "version": string
}
字段
downloadId

string

生成的 APK ID,用于唯一标识要下载的 APK。应提供给 generatedapks.download 方法。

moduleName

string

此素材资源切片所属的模块的名称。

sliceId

string

素材资源切片 ID。

version

string (int64 format)

资源模块版本。

GeneratedStandaloneApk

独立 APK 的 generateapks.download 元数据。

JSON 表示法
{
  "downloadId": string,
  "variantId": integer
}
字段
downloadId

string

生成的 APK ID,用于唯一标识要下载的 APK。应提供给 generatedapks.download 方法。

variantId

integer

生成的变体的 ID。

GeneratedUniversalApk

通用 APK 的 generateapks.download 元数据。

JSON 表示法
{
  "downloadId": string
}
字段
downloadId

string

生成的 APK ID,用于唯一标识要下载的 APK。应提供给 generatedapks.download 方法。

GeneratedRecoveryApk

应用恢复模块的 generateapks.download 元数据中。

JSON 表示法
{
  "downloadId": string,
  "recoveryId": string,
  "recoveryStatus": enum (RecoveryStatus),
  "moduleName": string
}
字段
downloadId

string

生成的 APK ID,用于唯一标识要下载的 APK。应提供给 generatedapks.download 方法。

recoveryId

string (int64 format)

恢复操作的 ID。

recoveryStatus

enum (RecoveryStatus)

与恢复 APK 对应的恢复操作的状态。

moduleName

string

恢复 APK 所属的模块的名称。

TargetingInfo

与生成的 APK 相关的定位信息。

JSON 表示法
{
  "packageName": string,
  "variant": [
    {
      object (SplitApkVariant)
    }
  ],
  "assetSliceSet": [
    {
      object (AssetSliceSet)
    }
  ]
}
字段
packageName

string

此应用的软件包名称。

variant[]

object (SplitApkVariant)

已创建的变体的 generateapks.list。

assetSliceSet[]

object (AssetSliceSet)

已创建的资源切片的生成的 APK 文件列表。

SplitApkVariant

变体是一组覆盖部分设备配置空间的 APK。绝不会在一个设备上组合多个变体的 APK。

JSON 表示法
{
  "targeting": {
    object (VariantTargeting)
  },
  "apkSet": [
    {
      object (ApkSet)
    }
  ],
  "variantNumber": integer
}
字段
targeting

object (VariantTargeting)

变体级定位。

apkSet[]

object (ApkSet)

一组 APK,每个模块一组。

variantNumber

integer

变体的数量,从 0 开始(除非被替换)。设备会收到来自第一个与设备配置匹配的变体的 APK,变体编号越高,变体编号越低。

VariantTargeting

在变体级别定位。

JSON 表示法
{
  "sdkVersionTargeting": {
    object (SdkVersionTargeting)
  },
  "abiTargeting": {
    object (AbiTargeting)
  },
  "screenDensityTargeting": {
    object (ScreenDensityTargeting)
  },
  "multiAbiTargeting": {
    object (MultiAbiTargeting)
  },
  "textureCompressionFormatTargeting": {
    object (TextureCompressionFormatTargeting)
  }
}
字段
sdkVersionTargeting

object (SdkVersionTargeting)

变体针对的 SDK 版本

abiTargeting

object (AbiTargeting)

变体定位的 ABI

screenDensityTargeting

object (ScreenDensityTargeting)

此变体支持的屏幕密度

multiAbiTargeting

object (MultiAbiTargeting)

多 API 级别定位

textureCompressionFormatTargeting

object (TextureCompressionFormatTargeting)

纹理压缩格式级定位

SdkVersionTargeting

根据 SDK 版本进行定位。

JSON 表示法
{
  "value": [
    {
      object (SdkVersion)
    }
  ],
  "alternatives": [
    {
      object (SdkVersion)
    }
  ]
}
字段
value[]

object (SdkVersion)

SDK 版本的值。

alternatives[]

object (SdkVersion)

定位到软件包中的其他同级目录。对于主要细分,这是针对其他主要细分。

SdkVersion

表示 SDK 版本。

JSON 表示法
{
  "min": integer
}
字段
min

integer

SDK 版本的最小值。

AbiTargeting

根据 Abi 进行定位。

JSON 表示法
{
  "value": [
    {
      object (Abi)
    }
  ],
  "alternatives": [
    {
      object (Abi)
    }
  ]
}
字段
value[]

object (Abi)

abi 的值。

alternatives[]

object (Abi)

定位到软件包中的其他同级目录。对于主要细分,这是针对其他主要细分。

阿比

代表 Abi。

JSON 表示法
{
  "alias": enum (AbiAlias)
}
字段
alias

enum (AbiAlias)

abi 的别名。

AbiAlias

abis 的别名定义。

枚举
UNSPECIFIED_CPU_ARCHITECTURE 未指定的 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

基于屏幕密度定位。

JSON 表示法
{
  "value": [
    {
      object (ScreenDensity)
    }
  ],
  "alternatives": [
    {
      object (ScreenDensity)
    }
  ]
}
字段
value[]

object (ScreenDensity)

屏幕密度的值。

alternatives[]

object (ScreenDensity)

定位到软件包中的其他同级目录。对于主要细分,这是针对其他主要细分。

ScreenDensity

表示屏幕密度。

JSON 表示法
{

  // 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.
}
字段

联合字段 density_oneof

density_oneof 只能是下列其中一项:

densityAlias

enum (DensityAlias)

屏幕密度的别名。

densityDpi

integer

密度 dpi 的值。

DensityAlias

屏幕密度的别名定义。

枚举
DENSITY_UNSPECIFIED 未指定的屏幕密度。
NODPI NODPI 屏幕密度。
LDPI LDPI 屏幕密度。
MDPI MDPI 屏幕密度。
TVDPI TVDPI 屏幕密度。
HDPI HDPI 屏幕密度。
XHDPI XHDPI 屏幕密度。
XXHDPI XXHDPI 屏幕密度。
XXXHDPI XXXHDPI 屏幕密度。

MultiAbiTargeting

基于多个 AB 进行定位。

JSON 表示法
{
  "value": [
    {
      object (MultiAbi)
    }
  ],
  "alternatives": [
    {
      object (MultiAbi)
    }
  ]
}
字段
value[]

object (MultiAbi)

多 Abi 的值。

alternatives[]

object (MultiAbi)

定位到软件包中的其他同级目录。对于主要细分,这是针对其他主要细分。

MultiAbi

表示 API 列表。

JSON 表示法
{
  "abi": [
    {
      object (Abi)
    }
  ]
}
字段
abi[]

object (Abi)

目标 ABI 列表,由 Android 平台表示

TextureCompressionFormatTargeting

按纹理压缩格式定位。

JSON 表示法
{
  "value": [
    {
      object (TextureCompressionFormat)
    }
  ],
  "alternatives": [
    {
      object (TextureCompressionFormat)
    }
  ]
}
字段
value[]

object (TextureCompressionFormat)

目标 TCF 的列表。不得为空。

alternatives[]

object (TextureCompressionFormat)

替代 TCF(同级分块针对的 TCF)的生成的 APK 文件。

TextureCompressionFormat

表示纹理压缩格式。

JSON 表示法
{
  "alias": enum (TextureCompressionFormatAlias)
}
字段
alias

enum (TextureCompressionFormatAlias)

纹理压缩格式的别名。

TextureCompressionFormatAlias

纹理压缩格式的别名定义。

枚举
UNSPECIFIED_TEXTURE_COMPRESSION_FORMAT 未指定格式。
ETC1_RGB8 ETC1_RGB8 格式。
PALETTED PALETTED 格式。
THREE_DC THREE_DC 格式。
ATC ATC 格式。
LATC LATC 格式。
DXT1 DXT1 格式。
S3TC S3TC 格式。
PVRTC PVRTC 格式。
ASTC ASTC 格式。
ETC2 ETC2 格式。

ApkSet

一组代表一个模块的 APK。

JSON 表示法
{
  "moduleMetadata": {
    object (ModuleMetadata)
  },
  "apkDescription": [
    {
      object (ApkDescription)
    }
  ]
}
字段
moduleMetadata

object (ModuleMetadata)

此 ApkSet 所代表的模块的元数据

apkDescription[]

object (ApkDescription)

生成的 APK 的说明。

ModuleMetadata

模块的元数据。

JSON 表示法
{
  "name": string,
  "moduleType": enum (FeatureModuleType),
  "deliveryType": enum (DeliveryType),
  "dependencies": [
    string
  ],
  "targeting": {
    object (ModuleTargeting)
  }
}
字段
name

string

模块名称。

moduleType

enum (FeatureModuleType)

表示此功能模块的类型。

deliveryType

enum (DeliveryType)

表示模块的分发类型(例如按需)。

dependencies[]

string

此模块直接依赖的模块的名称。每个模块都会隐式依赖于基本模块。

targeting

object (ModuleTargeting)

用于安装条件模块的定位条件。仅与拆分 APK 相关。

FeatureModuleType

功能模块的类型。

枚举
UNKNOWN_MODULE_TYPE 未知功能模块。
FEATURE_MODULE 常规功能模块。

DeliveryType

表示模块的分发类型。

枚举
UNKNOWN_DELIVERY_TYPE 未指定传送类型。
INSTALL_TIME 首次安装应用时,将始终下载此模块。
ON_DEMAND 此模块是按需请求的,这意味着它不会包含在初始安装中,并且仅在客户端请求时发送。
FAST_FOLLOW 此模块将在初始安装完成后立即下载。您可以在下载这些模块之前打开应用。

ModuleTargeting

在模块级别定位。

JSON 表示法
{
  "sdkVersionTargeting": {
    object (SdkVersionTargeting)
  },
  "deviceFeatureTargeting": [
    {
      object (DeviceFeatureTargeting)
    }
  ],
  "userCountriesTargeting": {
    object (UserCountriesTargeting)
  }
}
字段
sdkVersionTargeting

object (SdkVersionTargeting)

变体针对的 SDK 版本

deviceFeatureTargeting[]

object (DeviceFeatureTargeting)

定位设备功能。

userCountriesTargeting

object (UserCountriesTargeting)

国家/地区级定位

DeviceFeatureTargeting

定位设备功能。

JSON 表示法
{
  "requiredFeature": {
    object (DeviceFeature)
  }
}
字段
requiredFeature

object (DeviceFeature)

设备的功能。

DeviceFeature

表示设备功能。

JSON 表示法
{
  "featureName": string,
  "featureVersion": integer
}
字段
featureName

string

地图项的名称。

featureVersion

integer

由 AndroidManifest 中 中的 android:glEsVersion 或 android:version 指定的功能版本。

UserCountriesTargeting

用于描述模块定位到的国家/地区代码的(包含/排除)列表。

JSON 表示法
{
  "countryCodes": [
    string
  ],
  "exclude": boolean
}
字段
countryCodes[]

string

采用双字母 CLDR 地区格式的国家/地区代码生成的 apks.list。

exclude

boolean

指明上述列表是否为专有列表。

ApkDescription

已创建的 APK 的说明。

JSON 表示法
{
  "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.
}
字段
targeting

object (ApkTargeting)

APK 级定位。

path

string

APK 的路径将采用以下格式:.apk,其中 DownloadId 是用于通过 GeneratedApks.Download API 下载 APK 的 ID

联合字段 apk_metadata_oneof_value

apk_metadata_oneof_value 只能是下列其中一项:

splitApkMetadata

object (SplitApkMetadata)

仅针对拆分 APK 进行设置。

standaloneApkMetadata

object (StandaloneApkMetadata)

仅针对独立 APK 设置。

instantApkMetadata

object (SplitApkMetadata)

仅针对即时拆分 APK 进行设置。

assetSliceMetadata

object (SplitApkMetadata)

仅针对素材资源切片设置。

ApkTargeting

表示一组 APK 级定位。

JSON 表示法
{
  "abiTargeting": {
    object (AbiTargeting)
  },
  "languageTargeting": {
    object (LanguageTargeting)
  },
  "screenDensityTargeting": {
    object (ScreenDensityTargeting)
  },
  "sdkVersionTargeting": {
    object (SdkVersionTargeting)
  },
  "textureCompressionFormatTargeting": {
    object (TextureCompressionFormatTargeting)
  },
  "multiAbiTargeting": {
    object (MultiAbiTargeting)
  }
}
字段
abiTargeting

object (AbiTargeting)

APK 针对的 ABI

languageTargeting

object (LanguageTargeting)

APK 的目标语言

screenDensityTargeting

object (ScreenDensityTargeting)

此 apk 支持的屏幕密度。

sdkVersionTargeting

object (SdkVersionTargeting)

apk 的目标 SDK 版本

textureCompressionFormatTargeting

object (TextureCompressionFormatTargeting)

纹理压缩格式级定位

multiAbiTargeting

object (MultiAbiTargeting)

多 API 级别定位。

LanguageTargeting

根据语言定位。

JSON 表示法
{
  "value": [
    string
  ],
  "alternatives": [
    string
  ]
}
字段
value[]

string

ISO-639:2 或 3 个字母的语言代码。

alternatives[]

string

其他语言。

SplitApkMetadata

保存拆分 APK 专用的数据。

JSON 表示法
{
  "splitId": string,
  "isMasterSplit": boolean
}
字段
splitId

string

拆分的 ID。

isMasterSplit

boolean

指示此 APK 是否为模块的主要拆分。

StandaloneApkMetadata

存放独立 APK 专用的数据。

JSON 表示法
{
  "fusedModuleName": [
    string
  ]
}
字段
fusedModuleName[]

string

此独立 APK 中融合的模块的名称。

AssetSliceSet

属于单个素材资源模块的一组素材资源切片。

JSON 表示法
{
  "assetModuleMetadata": {
    object (AssetModuleMetadata)
  },
  "apkDescription": [
    {
      object (ApkDescription)
    }
  ]
}
字段
assetModuleMetadata

object (AssetModuleMetadata)

模块级元数据。

apkDescription[]

object (ApkDescription)

素材资源切片。

AssetModuleMetadata

资源模块的元数据。

JSON 表示法
{
  "name": string,
  "deliveryType": enum (DeliveryType)
}
字段
name

string

模块名称。

deliveryType

enum (DeliveryType)

表示持久性安装的分发类型。