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 以及资源包切片的 generateapks.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 提供的资源包 Slice 生成 APKs.list,并使用与 certificateSha256Hash 对应的密钥进行签名。

generatedStandaloneApks[]

object (GeneratedStandaloneApk)

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

generatedUniversalApk

object (GeneratedUniversalApk)

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

generatedRecoveryModules[]

object (GeneratedRecoveryApk)

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

targetingInfo

object (TargetingInfo)

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

GeneratedSplitApk

拆分 APK 的 generateapks.download 元数据。

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

string

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

variantId

integer

生成的变体的 ID。

moduleName

string

此 APK 所属模块的名称。

splitId

string

分块 ID。对于基本模块的主要分屏,为空。

GeneratedAssetPackSlice

generateapks.download 资源包切片的元数据。

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

string

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

moduleName

string

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

sliceId

string

素材资源切片 ID。

version

string (int64 format)

素材资源模块版本。

GeneratedStandaloneApk

针对独立 APK 生成的 APKs.download 元数据。

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

string

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

variantId

integer

生成的变体的 ID。

GeneratedUniversalApk

通用 APK 的 generateapks.download 元数据。

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

string

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

GeneratedRecoveryApk

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

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

string

generateapks.download 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)

generateapks.list 中列出了已创建的资源切片。

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

基于多个展示位置进行定位。

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

object (MultiAbi)

multi abi 的值。

alternatives[]

object (MultiAbi)

定位捆绑包中的其他同级目录。对于主要分包,其目标是其他主要分包。

MultiAbi

表示 ABI 列表。

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

object (Abi)

目标 ABI 的列表(由 Android 平台表示)

TextureCompressionFormatTargeting

按纹理压缩格式定位。

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

object (TextureCompressionFormat)

目标 TCF 列表。不得为空。

alternatives[]

object (TextureCompressionFormat)

generateapks.list 的替代 TCF(同级分块针对的 TCF)。

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 区域格式生成的国家/地区代码的 generateapks.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)

表示永久安装的分发类型。