调试
理解云日志:
Section titled “理解云日志:”| 代码 | 描述 |
|---|---|
| InvalidIp | 用户位于 Google 数据中心且更新小于 4 小时。这样做是为了防止 Google 机器人的设备计入您帐户的设备数。 |
| needPlanUpgrade(以前称为 needUpgrade) | 表示您已达到计划的限制,在您升级或下个月之前,设备将不会收到更新。 |
| noNew | 设备具有最新可用版本。 |
| disablePlatformIos | 设备在 iOS 平台上,但在频道设置中已禁用该平台。 |
| disablePlatformAndroid | 设备在 Android 平台上,但在频道设置中已禁用该平台。 |
| disableAutoUpdate | ”major” | “minor” | “version_number” | “none” |
| disableAutoUpdateUnderNative | 设备版本为 (1.2.3),频道有一个要发送的更新 (1.2.2) 低于设备版本,但在频道设置中已禁用。 |
| disableDevBuild | 设备有开发构建,但在频道设置中已禁用。 |
| disableEmulator | 设备是模拟器,但在频道设置中已禁用。 |
| cannotGetBundle | 无法为 bundle 下载生成有效的签名 URL。当 bundle URL 生成失败或返回无效 URL(不以 http/https 开头)且没有可用的清单作为后备时会发生这种情况。 |
| cannotUpdateViaPrivateChannel | 设备尝试自我关联到私有频道,但频道设置不允许设备自我关联(allow_device_self_set 为 false)且频道不是公共的。 |
| channelMisconfigured | 频道配置为按版本号禁用自动更新(disable_auto_update: 'version_number'),但 bundle 的 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' 阻止会增加补丁版本号的更新,或仅允许在相同 major.minor 版本内的补丁级更新(例如,1.2.3 可以更新到 1.2.4 但不能更新到 1.2.2 或 1.3.0)。 |
| missingBundle | 分配给此频道的 bundle 没有可下载的内容。这意味着 bundle 没有 external_url,没有 r2_path,它不是内置版本,并且没有可供下载的清单条目。 |
| NoChannelOrOverride | 此应用未配置默认频道,并且设备没有分配特定的频道覆盖。必须至少存在一个才能使更新工作。 |
| rateLimited | 设备由于过多请求而受到速率限制。 |
| 代码 | 描述 |
|---|---|
| ping | 用于验证统计系统是否正常工作的内部测试操作。 |
| get | 下载新版本的信息已发送到设备。 |
| delete | 设备上已删除一个 bundle。 |
| set | 设备上已设置一个 bundle。 |
| set_fail | bundle 设置失败。 |
| reset | 设备重置为 builtin bundle。 |
| download_XX | 已下载新 bundle - XX% 表示进度(以 10% 递增)。 |
| download_complete | 新 bundle 已完成下载。 |
| download_manifest_start | 设备开始下载更新清单。 |
| download_manifest_complete | 设备完成下载更新清单。 |
| download_zip_start | 设备开始下载 bundle 归档。 |
| download_zip_complete | 设备完成下载 bundle 归档。 |
| download_manifest_file_fail | 一个清单条目下载失败;统计负载将 version_name 以 version:fileName 的形式放置以确定资产。 |
| download_manifest_checksum_fail | 清单文件校验和验证失败。 |
| download_manifest_brotli_fail | 清单文件使用 Brotli 解压失败。 |
| download_fail | 新 bundle 下载失败。 |
| update_fail | 新 bundle 已安装但未能调用 notifyAppReady。 |
| checksum_fail | 新 bundle 校验和验证失败。如果您使用 Capgo Cloud 并遇到此错误,这通常意味着您的应用版本期望不同的校验和类型。最新版本的 CLI 和插件(版本 5.10.0+、6.25.0+ 或 7+)使用 SHA256 校验和,而旧插件使用 CRC32。如果看到校验和失败,请检查校验和是否为 CRC32(较短的哈希)而不是 SHA256。这通常表示 bundle 是用旧版本的 CLI 上传的。在 Capgo 仪表板中验证您的 bundle 版本 - 自版本 5.10.0/6.25.0/7 以来创建的 bundle 应使用 SHA256。如果您看到 CRC32 校验和,请确保在本地安装了最新的插件版本(CLI 检查您的本地插件版本以确定要上传哪种校验和类型),然后升级您的 CLI 并重新上传 bundle。 |
| windows_path_fail | zip 中包含非法的 Windows 路径文件 |
| canonical_path_fail | 文件路径不是规范的 |
| directory_path_fail | zip 文件路径中存在错误 |
| unzip_fail | 解压失败 |
| low_mem_fail | 由于设备内存不足导致下载失败 |
| app_moved_to_background | 应用程序进入后台状态。 |
| app_moved_to_foreground | 应用程序进入前台状态。 |
| decrypt_fail | 解密下载的 bundle 失败。 |
| getChannel | 查询设备的当前频道。 |
| setChannel | 成功为设备设置频道。 |
| uninstall | 应用程序已卸载或清除 Capgo 数据。 |
| blocked_by_server_url | capacitor 配置中存在 Server.url,这使 Capacitor 提供远程 url 并忽略本地文件,而我们的更新程序是为本地文件功能设计的。Server.url 被 Capacitor 制造商视为生产中的不良做法,并将导致许多问题和插件无法正常工作。 |
Bundle 状态
Section titled “Bundle 状态”SUCCESS: 安装 bundle 完成ERROR: 安装或下载失败PENDING: 下载完成,待发布DELETED: Bundle 已删除,仍为统计信息呈现DOWNLOADING: 当前正在下载 bundle
理解设备日志:
Section titled “理解设备日志:”Capgo 云用户有一个调试命令。
npx @capgo/cli@latest app debug这将允许您检查应用中发生的所有事件,并在更新未发生时找到解决方案。
在 Xcode 上查找您的日志
Android:
Section titled “Android:”在 Android Studio 上查找您的日志
Failed to download from=> 与 download_fail 相同notifyAppReady was not called, roll back current bundle=> 与 update_fail 相同
在设备中查找下载的 bundle
Section titled “在设备中查找下载的 bundle”要在 iOS 上调试,您需要将应用转储到计算机上,可以这样做:
Xcode 具有内置功能,用于检查 iOS 设备上开发者安装的应用的文件系统。

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

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

右键单击此文件并选择 Show Package Contents 以打开文件夹。
打开 App Data 文件夹,您现在应该看到几个文件夹,如 Documents、Library、tmp 等。

然后您将在 2 个文件夹中找到一个版本:
library/NoCloud/ionic_built_snapshots 在应用重启后是必需的
以及 documents/versions 用于热重载
Android
Section titled “Android”要在 Android 上调试,您需要从 Android Studio 访问设备:
- 单击 View > Tool Windows > Device File Explorer 或单击工具窗口栏中的 Device File Explorer 按钮以打开 Device File Explorer。
- 从下拉列表中选择一个设备。
- 打开路径 data/data/APP_NAME/ 其中 APP_NAME 是您的应用 ID。

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