docs(client): 整理SDK打包文档

This commit is contained in:
2026-09-08 18:14:58 +08:00
parent 8dfef45bc4
commit 613607475e
5 changed files with 137 additions and 79 deletions
+9 -73
View File
@@ -11,7 +11,7 @@
3. 在线检查更新、Manifest 拉取、受控下载、SHA-256 校验。
4. Manifest 签名验签、临时文件、断点重试、安装前后完整性校验。
邮箱、支付、灰度、告警等页面上没有的能力不属于当前范围。崩溃报告是 SimCAE Hub 保留的旧系统兼容后端接口,不属于 Launcher / Updater / Bootstrap 的更新链路;接入方需要崩溃上报时,按 `使用教学.md` 里的崩溃报告接口说明调用。
邮箱、支付、灰度、告警等页面上没有的能力不属于当前范围。崩溃报告是 SimCAE Hub 保留的旧系统兼容后端接口,不属于 Launcher / Updater / Bootstrap 的更新链路;接入方需要崩溃上报时,按项目根目录 `项目细节.md` 里的崩溃报告接口说明调用。
## 2. 客户端程序组成
@@ -68,79 +68,15 @@
如果换服务器,可以改完该文件后重新编译客户端;正式客户包通常由服务端写入 `api_base_url`,不需要把 `server_config.json` 暴露给客户。
## 5. 编译
## 5. 编译和打包 SDK
Windows Release 编译:
客户端编译、带 Qt 和不带 Qt 两种 SDK 打包方式、输出目录、输出 ZIP 文件名,统一维护在 [../打包成SDK.md](../打包成SDK.md)。
```powershell
cd update-client
cmake --preset x64-release
cmake --build --preset x64-release
```
本文件只说明 SDK 在客户软件里的接入位置和运行逻辑,不重复维护打包命令。
Linux Release 编译:
SDK 包不会包含最终 `app_config.json``server_config.json``server_config.qrc``manifest_public_key.pem`。这些最终配置在完整客户软件包或 Qt IFW 交付包上传到 SimCAE Hub 后由服务端生成。
```bash
cd update-client
cmake --preset linux-x64-release
cmake --build --preset linux-x64-release
```
## 6. 打包 SDK
Windows 示例:
```powershell
cd update-client
.\scripts\package-sdk.ps1 `
-SourceDir .\out\bin\Release `
-OutputDir .\dist\SimCAEHubUpdateClientSDK `
-ZipFile .\dist\SimCAEHubUpdateClientSDK.zip `
-SdkVersion 0.1.0
```
执行成功后会生成:
1. 展开目录:`update-client\dist\SimCAEHubUpdateClientSDK`
2. 对外提供的 SDK 压缩包:`update-client\dist\SimCAEHubUpdateClientSDK.zip`
默认不会打包 Qt DLL 和 Qt 插件目录,适合接入方已经有 Qt 运行环境,或者希望自己控制依赖部署的情况。
如果希望 SDK 包里带上 Qt runtime
```powershell
cd update-client
.\scripts\package-sdk.ps1 `
-SourceDir .\out\bin\Release `
-OutputDir .\dist\SimCAEHubUpdateClientSDK-with-qt `
-ZipFile .\dist\SimCAEHubUpdateClientSDK-with-qt.zip `
-SdkVersion 0.1.0 `
-IncludeQtRuntime
```
执行成功后会生成:
1. 展开目录:`update-client\dist\SimCAEHubUpdateClientSDK-with-qt`
2. 对外提供的 SDK 压缩包:`update-client\dist\SimCAEHubUpdateClientSDK-with-qt.zip`
其中 `-OutputDir` 是脚本整理 SDK 的展开目录,`-ZipFile` 是最终要交给接入方的 SDK 压缩包。接入方没有单独准备 Qt 运行库时,优先使用带 Qt runtime 的压缩包。
Linux 示例:
```bash
cd update-client
./scripts/package-sdk.sh \
--source-dir ./out/linux/bin \
--output-dir ./dist/SimCAEHubUpdateClientSDK-linux \
--archive ./dist/SimCAEHubUpdateClientSDK-linux.tar.gz \
--sdk-version 0.1.0
```
Linux 如需带上 Qt runtime,追加 `--include-qt-runtime`
SDK 包不会包含最终 `app_config.json``server_config.json``server_config.qrc``manifest_public_key.pem`。这些最终配置在完整客户软件包上传到 SimCAE Hub 后由服务端生成。
## 7. 客户安装包配置
## 6. 客户安装包配置
接入方应把以下文件放到客户软件目录的根目录或 `bin/` 目录:
@@ -150,7 +86,7 @@ SDK 包不会包含最终 `app_config.json`、`server_config.json`、`server_con
4. `MainApp` 或真实业务主程序
5. `config/` 目录,可以先为空
### 7.1 标准目录结构和路径口径
### 6.1 标准目录结构和路径口径
更新系统不要求必须放在客户软件根目录。它可以放在 `SimCAE/` 根目录,也可以放在 `SimCAE/bin/` 目录。关键是让客户端配置里的 `install_root` 和服务端 Manifest 文件路径使用同一套口径。
@@ -248,7 +184,7 @@ SimCAE/
`install_root` 由服务端根据 Launcher 所在位置自动判断:更新系统在软件根目录时写 `.`,在 `bin/` 目录时写 `..`
## 8. 运行数据位置
## 7. 运行数据位置
Windows 运行数据目录:
@@ -264,7 +200,7 @@ Linux 运行数据目录:
Manifest 缓存保存在运行数据目录下的 `update/manifest_cache`
## 9. 常见问题
## 8. 常见问题
1. 客户门户登录失败:检查客户门户账号是否已激活、客户是否生效、密码是否正确。
2. 检查更新没有结果:检查后台发布是否已发布、发布包是否可用、产品编码、渠道和平台参数是否一致。