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 以及资源包切片的 generatedapks.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 的 generatedapks.list,使用与 certificateSha256Hash 对应的密钥进行签名。

generatedAssetPackSlices[]

object (GeneratedAssetPackSlice)

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

generatedStandaloneApks[]

object (GeneratedStandaloneApk)

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

generatedUniversalApk

object (GeneratedUniversalApk)

生成的通用 APK,使用与 certificateSha256Hash 对应的密钥进行签名。如果未为相应签名密钥生成任何通用 APK,系统将不设置该字段。

generatedRecoveryModules[]

object (GeneratedRecoveryApk)

为恢复操作生成的恢复 APK,使用与 certificateSha256Hash 对应的密钥进行签名。这包括所有生成的恢复 APK,以及处于草稿或已取消状态的恢复 APK。如果未为相应签名密钥创建任何恢复操作,系统将不设置该字段。

targetingInfo

object (TargetingInfo)

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

GeneratedSplitApk

拆分 APK 的 generatedapks.download 元数据。

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

string

generatedapks.download ID,用于唯一标识所需下载的 APK。应将其提供给 generatedapks.download 方法。

variantId

integer

所生成变体的 ID。

moduleName

string

相应 APK 所属模块的名称。

splitId

string

分块 ID。对于基础模块的主分块,该字段为空。

GeneratedAssetPackSlice

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

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

string

generatedapks.download ID,用于唯一标识所需下载的 APK。应将其提供给 generatedapks.download 方法。

moduleName

string

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

sliceId

string

资源切片 ID。

version

string (int64 format)

资源模块版本。

GeneratedStandaloneApk

独立 APK 的 generatedapks.download 元数据。

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

string

generatedapks.download ID,用于唯一标识所需下载的 APK。应将其提供给 generatedapks.download 方法。

variantId

integer

所生成变体的 ID。

GeneratedUniversalApk

通用 APK 的 generatedapks.download 元数据。

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

string

generatedapks.download ID,用于唯一标识所需下载的 APK。应将其提供给 generatedapks.download 方法。

GeneratedRecoveryApk

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

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

string

generatedapks.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)

所创建变体的 generatedapks.list。

assetSliceSet[]

object (AssetSliceSet)

所创建资源切片的 generatedapks.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)

Bundle 中的其他同级子目录的定位。对于主分块,这是其他主分块的定位。

SdkVersion

表示 SDK 版本。

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

integer

包含 SDK 版本的最小值。

AbiTargeting

基于 ABI 的定位。

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

object (Abi)

ABI 的值。

alternatives[]

object (Abi)

Bundle 中的其他同级子目录的定位。对于主分块,这是其他主分块的定位。

Abi

表示 ABI。

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

enum (AbiAlias)

ABI 的别名。

AbiAlias

ABI 的别名定义。

枚举
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)

Bundle 中的其他同级子目录的定位。对于主分块,这是其他主分块的定位。

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

基于多 ABI 的定位。

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

object (MultiAbi)

多 ABI 的值。

alternatives[]

object (MultiAbi)

Bundle 中的其他同级子目录的定位。对于主分块,这是其他主分块的定位。

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)

备选 TCF(同级子分块所定位的 TCF)的 generatedapks.list。

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

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