From c1849802b6ebf5068d820c2d113041eef15ceabc Mon Sep 17 00:00:00 2001 From: LukeMackin Date: Sun, 19 Jul 2026 19:28:58 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20ota/gen-manifest.sh=20=E2=80=94=20CI?= =?UTF-8?q?=E6=9E=84=E5=BB=BA=E6=97=B6=E5=8A=A8=E6=80=81=E7=94=9F=E6=88=90?= =?UTF-8?q?manifest.json?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - gen-manifest.sh: 计算APK SHA256 → 填入版本号/URL → 生成manifest.json - manifest.json本身不提交仓库(构建产物,上传到Release) - README.md说明目录用途 --- ota/README.md | 14 ++++++++++++++ ota/gen-manifest.sh | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 ota/README.md create mode 100644 ota/gen-manifest.sh diff --git a/ota/README.md b/ota/README.md new file mode 100644 index 0000000..ebb1e9d --- /dev/null +++ b/ota/README.md @@ -0,0 +1,14 @@ +# OTA 文件夹 + +此目录存放 manifest 生成脚本。manifest.json 是 CI 构建时动态生成的产物, +上传到 Gitea Release Assets,**不提交到仓库**。 + +## 文件 + +- `gen-manifest.sh` — 构建后运行,计算 APK SHA256 并生成 manifest.json + +## 流程 + +``` +CI 构建 APK → ./ota/gen-manifest.sh → curl 上传 manifest.json 到 Release +``` diff --git a/ota/gen-manifest.sh b/ota/gen-manifest.sh new file mode 100644 index 0000000..c21ec74 --- /dev/null +++ b/ota/gen-manifest.sh @@ -0,0 +1,37 @@ +#!/bin/bash +# OTA manifest 生成脚本 +# CI 构建时运行: ./ota/gen-manifest.sh +# 生成 manifest.json 后上传到 Gitea Release + +VERSION_NAME="${1:-0.1.0}" +VERSION_CODE="${2:-7}" +APK_PATH="${3:-packages/client-android/android/app/build/outputs/apk/debug/v0.1.0-dav-android-7-debug.apk}" +RELEASE_TAG="v${VERSION_NAME}-dav-android-${VERSION_CODE}" +APK_NAME="v${VERSION_NAME}-dav-android-${VERSION_CODE}-debug.apk" + +SHA256=$(sha256sum "$APK_PATH" | cut -d' ' -f1) +SIZE=$(stat -c%s "$APK_PATH") + +cat > ota/manifest.json <