docs(client): 整理SDK打包文档
This commit is contained in:
+9
-73
@@ -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. 检查更新没有结果:检查后台发布是否已发布、发布包是否可用、产品编码、渠道和平台参数是否一致。
|
||||
|
||||
Reference in New Issue
Block a user