跳过内容

调试

如果您收到云拒绝code并需要具体的修复步骤,请参阅 常见更新问题.

code描述
InvalidIp用户位于Google数据中心,更新时间小于4小时。这是为了防止Google机器人设备被计入您的帐户。
需要升级计划 (之前 需要升级)表示您已达到计划限制,设备将不会接收更新,直到您升级或下个月
无新设备上有最新可用的版本。
__CAPGO_KEEP_0__设备在 iOS 平台,但在渠道设置中禁用了该平台。
设备在 Android 平台,但在渠道设置中禁用了该平台。设备在渠道设置中禁用了自动更新。
设备版本为 (设备版本为 (
设备版本为 (设备版本为 (1.2.3设备在渠道设置中禁用了开发构建。1.2.2设备在渠道设置中禁用了开发构建。
设备在渠道设置中禁用了开发构建。设备有一个开发版,但在渠道设置中已禁用。
禁用模拟器设备是模拟器,但在渠道设置中已禁用。
无法获取捆绑包无法为捆绑包下载生成有效的签名URL。这通常发生在捆绑包URL生成失败或返回的URL不是以http/https开头且没有可作为替代的清单时。
无法通过私有渠道更新设备尝试自我关联到私有渠道,但渠道设置中禁用了设备自我关联(allow_device_self_set is false)且渠道不是公共渠道。
渠道配置错误渠道配置为禁用通过版本号自动更新(disable_auto_update: 'version_number'),但捆绑包的 min_update_version 字段为null,无法确定应该接收更新的设备。
disableAutoUpdateMetadata自动更新已通过版本号元数据禁用。渠道要求设备的版本号至少为 min_update_version,但设备的当前版本号低于此阈值。
disableAutoUpdateToMajor渠道设置 disable_auto_update: 'major' 防止更新将主版本号升级(例如,阻止 1.x.x 更新到 2.x.x)。
disableAutoUpdateToMinor渠道设置 disable_auto_update: 'minor' 防止更新将次版本号升级(例如,阻止 1.2.x 更新到 1.3.x)。
disableAutoUpdateToPatch渠道设置 disable_auto_update: 'patch' 防止更新将补丁版本号升级,或者允许在同一个主版本号.次版本号内进行补丁级别更新(例如,1.2.3 可以更新到 1.2.4,但不能更新到 1.2.2 或 1.3.0)。
缺失的包该频道分配的包没有可下载的内容。这意味着包没有 external_url没有 r2_path它不是内置版本,并且没有可下载的清单项。
无频道或覆盖没有配置此应用的默认频道,且设备上没有特定的频道覆盖。至少需要一个才能让更新工作。
速率限制设备因过度请求而被速率限制。
密钥不匹配设备的加密公钥与用来加密包的公钥不匹配。这会发生在以下情况之一:(1) 应用中的公钥与上传包时使用的公钥不同,或者(2) 您旋转了加密密钥但还没有更新所有设备。响应包含两个 capacitor.config.jsondeviceKeyId __CAPGO_KEEP_0__ bundleKeyId (首四个字符的每个公共密钥)以帮助识别不匹配。要解决此问题,请确保在上传捆绑包时使用相同的密钥 pair(CLI 使用私钥),并在应用程序中使用相同的密钥 pair(capacitor.config.json包含公共密钥)。

来自设备的

标题:来自设备
code描述
ping内部测试动作用于验证统计系统是否正常工作。
get已将下载新版本的信息发送到设备。
delete设备上已删除一个捆绑包。
set设备上已设置一个捆绑包。
__CAPGO_KEEP_0__设置捆绑包失败。
设备已重置为捆绑包。__CAPGO_KEEP_0__ builtin 下载捆绑包 - 进度由 XX% (每 10% 增加) 指示。
__CAPGO_KEEP_0__新捆绑包下载完成。
设备开始下载更新清单。__CAPGO_KEEP_0__
__CAPGO_KEEP_0____CAPGO_KEEP_0__
download_manifest_complete设备下载更新清单完成。
download_zip_start设备开始下载压缩包存档。
download_zip_complete设备下载压缩包存档完成。
download_manifest_file_fail下载清单项失败;统计包中 version_name download_manifest_file_fail version:fileName 在"__CAPGO_KEEP_0__"的形式
download_manifest_file_fail来定位资产。
download_manifest_brotli_failBrotli 压缩的清单文件下载失败。
download_fail新包下载失败。
update_fail新包已安装,但调用失败。 notifyAppReady.
checksum_fail新包校验和失败。这可能是由于以下原因: 1) 校验和类型不匹配: 最新版本的 CLI 和插件(版本 5.10.0+、6.25.0+ 或 7+)使用 SHA256 校验和,而旧版本的插件使用 CRC32。如果您看到校验和失败,请检查校验和是否为 CRC32(一个较短的哈希值)而不是 SHA256。这通常表明包已使用旧版本的 CLI 上传。请在 Capgo 控制台中验证您的包版本 - 自版本 5.10.0/6.25.0/7 以来创建的包应使用 SHA256。如果您看到 CRC32 校验和,请确保您已安装最新的插件版本(CLI 会检查您的本地插件版本以确定应上传哪种校验和类型),然后升级您的 CLI 并重新上传包。 2) 加密密钥不匹配(在插件版本以下 8.3.0 或 5/6/7.38.0): 在旧版本的插件中,如果设备的公钥与用于加密包的密钥不匹配,解密将会失败并导致校验和失败。 checksum_fail请确认您的应用的公钥与上传包时使用的私钥匹配。升级到插件版本 8.3.0+(或 5/6/7.38.0+)将使服务器返回一个合适的错误,使诊断此问题更容易。 capacitor.config.json __CAPGO_KEEP_0__ keyMismatch __CAPGO_KEEP_0__
windows_path_fail压缩包中包含非法的 Windows 路径的文件
canonical_path_fail压缩包中文件路径不规范
directory_path_fail压缩包中文件路径有错误
unzip_fail解压失败
low_mem_fail设备内存不足导致下载失败
应用切换到后台应用进入后台状态。
应用已切换到前台应用进入前台状态。
无法解密下载的包未能解密。
获取频道设备的当前通道被查询。
设置频道设备已成功设置通道。
卸载应用程序已卸载或Capgo数据已清除。
blocked_by_server_urlServer.url已在您的capacitor配置中存在,这使得Capacitor以远程URL服务,而忽略本地文件,而我们的更新程序则是以本地文件为准。Server.url被Capacitor开发者认为在生产环境中是不良实践,会导致许多问题和插件无法正常工作。
  • SUCCESS:捆绑安装完成
  • ERROR:捆绑安装或下载失败
  • PENDING:下载完成,待发布
  • DELETED:捆绑已删除,但仍然用于统计
  • DOWNLOADING:当前下载捆绑

理解设备日志:

标题:理解设备日志:

为Capgo云用户提供的调试命令。

终端窗口
npx @capgo/cli@latest app debug

这将允许您检查应用程序中发生的所有事件,并在更新未发生时找到解决方案。

在Xcode中找到设备日志

在 Android Studio 中查找您的日志

  • Failed to download from => 与之相同 下载失败
  • notifyAppReady was not called, roll back current bundle => 与上述相同 更新失败

在您的设备中找到下载的捆绑包

标题:在您的设备中找到下载的捆绑包

要在 iOS 上调试,您需要在计算机上将应用程序导出,方法如下:

Xcode 中有一个内置功能,可以在 iOS 设备上检查开发者安装的应用程序的文件系统。 Xcode 窗口菜单显示 Devices 和 Simulators 选项

要实现这一点:

  • 将您的设备连接到 Mac 并在 Xcode 菜单栏中选择窗口 > 设备。
  • 在设备部分的左侧面板中选择您的设备。
  • 这将显示该设备的开发者安装的应用程序列表。
  • 选择要检查的应用程序,然后选择屏幕底部附近的 3 个点图标。
  • 您可以通过选择下载该文件系统的快照来查看当前文件系统。

Xcode 设备面板显示应用程序容器下载选项

选择 Download Container… 将下载并导出文件系统的快照作为一个 .xcappdata 文件,您可以通过它浏览。

下载的 xcappdata 文件的 Show Package Contents 上下文菜单

右键单击此文件并选择显示包内容以打开文件夹。

打开应用程序数据文件夹,您应该现在看到几个文件夹,如文档、库、tmp等。

iOS 应用程序容器文件夹结构显示文档和库文件夹

然后您会在2个文件夹中找到一个版本:

library/NoCloud/ionic_built_snapshots 在应用程序重启后是必要的

documents/versions 用于热重载

为了在Android上调试,您需要从Android Studio访问设备:

  • 单击“视图”> “工具窗口”> “设备文件浏览器”或单击工具窗口栏上的“设备文件浏览器”按钮以打开“设备文件浏览器”。
  • 从下拉列表中选择一个设备。
  • 打开路径 data/data/APP_NAME/ 在哪里 APP_NAME是您的应用程序ID。

Android Studio设备文件浏览器显示应用程序数据目录

然后找到 versions 文件夹以查看所有版本