前置任务:#40、#53、#56、#58、#60、#62、#65
发布目标
从 main 提交 ae6536494b29d8706c1633657a742b2e2c0414df 生成 Android V2 0.1.0-rc.1 正式签名候选包,完成实体设备 P0,并确保公开 prerelease 的 APK/AAB 与实际通过 P0 的候选包逐字节一致。
旧锁定提交 ce81de51c2005449c72175c9187df14c34c4db57 已废弃:该版本仍包含“局域网服务器可发现但点击添加连接失败”的缺陷。
锁定候选版本
| 项目 |
值 |
| versionName |
0.1.0-rc.1 |
| versionCode |
100501 |
| applicationId |
com.nowen.video.v2 |
| minSdk |
26 / Android 8.0 |
| targetSdk |
35 / Android 15 |
| tag |
android-v2-v0.1.0-rc.1 |
| source commit |
ae6536494b29d8706c1633657a742b2e2c0414df |
阶段 0:工程发布链(已完成)
操作指南:
最新 Bugfix 工程门禁:
Android V2 run 30463029751:成功
release-android-v2 run 30463030025:成功
Android V2 Device Smoke run 30463029811:API 26 / 33 / 35 全部成功
PR 签名构建使用一次性临时密钥,仅证明工程链可用,不是可分发的正式 RC1。
阶段 A:长期签名准备
在 Linux / WSL 的干净 main 执行:
git checkout main
git pull --ff-only
git rev-parse HEAD
# 必须输出 ae6536494b29d8706c1633657a742b2e2c0414df
bash scripts/android-v2-release-candidate.sh \
--version 0.1.0-rc.1 \
--keystore "$HOME/keys/nowen-video/nowen-video-android-v2-release.jks" \
--alias nowen-video-android-v2 \
--generate-keystore
默认只创建或复用 keystore 并执行本地预检,不配置 Secrets、不触发 workflow、不推 tag。
阶段 B:生成正式候选包
bash scripts/android-v2-release-candidate.sh \
--version 0.1.0-rc.1 \
--keystore "$HOME/keys/nowen-video/nowen-video-android-v2-release.jks" \
--alias nowen-video-android-v2 \
--repository cropflre/nowen-video \
--output-dir "$PWD/dist/android-v2/rc1-candidate" \
--configure-secrets \
--dispatch
阶段 C:实体设备 P0
完整主设备示例:
python3 scripts/android-v2-device-p0.py prepare \
--candidate-dir "$PWD/dist/android-v2/rc1-candidate" \
--session-dir "$PWD/dist/android-v2/p0/main-device" \
--version 0.1.0-rc.1 \
--expected-commit ae6536494b29d8706c1633657a742b2e2c0414df \
--expected-fingerprint '<release certificate SHA-256>' \
--tester cropflre \
--server-version '<server version or commit>' \
--network-profile MIXED \
--scope full
矩阵命令:
python3 scripts/android-v2-device-p0.py matrix \
--session-dir "$PWD/dist/android-v2/p0/main-device" \
--session-dir "$PWD/dist/android-v2/p0/api26" \
--session-dir "$PWD/dist/android-v2/p0/api33" \
--session-dir "$PWD/dist/android-v2/p0/api35" \
--output-dir "$PWD/dist/android-v2/p0/matrix"
阶段 D:创建 tag 与草稿 prerelease
仅在正式候选和 P0 matrix 均通过后执行:
git checkout main
git pull --ff-only
git rev-parse HEAD
# 必须输出 ae6536494b29d8706c1633657a742b2e2c0414df
git tag android-v2-v0.1.0-rc.1 ae6536494b29d8706c1633657a742b2e2c0414df
git push origin android-v2-v0.1.0-rc.1
阶段 E:同步实际 P0 候选资产
python3 scripts/android-v2-release-promote.py sync \
--candidate-dir "$PWD/dist/android-v2/rc1-candidate" \
--matrix-dir "$PWD/dist/android-v2/p0/matrix" \
--version 0.1.0-rc.1 \
--tag android-v2-v0.1.0-rc.1 \
--repository cropflre/nowen-video \
--output-dir "$PWD/dist/android-v2/promotion/sync" \
--confirm-version 0.1.0-rc.1
阶段 F:显式公开 prerelease
python3 scripts/android-v2-release-promote.py publish \
--candidate-dir "$PWD/dist/android-v2/rc1-candidate" \
--matrix-dir "$PWD/dist/android-v2/p0/matrix" \
--version 0.1.0-rc.1 \
--tag android-v2-v0.1.0-rc.1 \
--repository cropflre/nowen-video \
--output-dir "$PWD/dist/android-v2/promotion/publish" \
--confirm-version 0.1.0-rc.1
当前状态
工程发布链和局域网服务器添加修复均已完成并通过 CI。正式 RC1 尚未生成或公开;长期 release keystore、正式 Secrets、正式候选包、实体设备 P0、tag、草稿资产同步和显式公开仍需真实执行。在这些记录全部完成前,本 Issue 保持打开。
前置任务:#40、#53、#56、#58、#60、#62、#65
发布目标
从
main提交ae6536494b29d8706c1633657a742b2e2c0414df生成 Android V20.1.0-rc.1正式签名候选包,完成实体设备 P0,并确保公开 prerelease 的 APK/AAB 与实际通过 P0 的候选包逐字节一致。锁定候选版本
0.1.0-rc.1100501com.nowen.video.v2android-v2-v0.1.0-rc.1ae6536494b29d8706c1633657a742b2e2c0414df阶段 0:工程发布链(已完成)
candidate-verification.jsonverify、sync、publishfail-closed 门禁Dispatchers.IO/api/auth/status握手操作指南:
clients/android-v2/RELEASE_CANDIDATE.mdclients/android-v2/DEVICE_P0.mdclients/android-v2/RELEASE_PROMOTION.mdclients/android-v2/SMOKE_TEST.md最新 Bugfix 工程门禁:
Android V2run30463029751:成功release-android-v2run30463030025:成功Android V2 Device Smokerun30463029811:API 26 / 33 / 35 全部成功阶段 A:长期签名准备
在 Linux / WSL 的干净
main执行:默认只创建或复用 keystore 并执行本地预检,不配置 Secrets、不触发 workflow、不推 tag。
阶段 B:生成正式候选包
checksums_verified、metadata_verified、apk_signature_verified、aab_signature_verified均为trueae6536494b29d8706c1633657a742b2e2c0414df阶段 C:实体设备 P0
完整主设备示例:
full会话 finalized PASSP0_MATRIX_REPORT.md已评论到本 Issue矩阵命令:
阶段 D:创建 tag 与草稿 prerelease
仅在正式候选和 P0 matrix 均通过后执行:
git checkout main git pull --ff-only git rev-parse HEAD # 必须输出 ae6536494b29d8706c1633657a742b2e2c0414df git tag android-v2-v0.1.0-rc.1 ae6536494b29d8706c1633657a742b2e2c0414df git push origin android-v2-v0.1.0-rc.1draft=true、prerelease=true阶段 E:同步实际 P0 候选资产
RELEASE_NOTES.md一致阶段 F:显式公开 prerelease
draft=false、prerelease=true当前状态
工程发布链和局域网服务器添加修复均已完成并通过 CI。正式 RC1 尚未生成或公开;长期 release keystore、正式 Secrets、正式候选包、实体设备 P0、tag、草稿资产同步和显式公开仍需真实执行。在这些记录全部完成前,本 Issue 保持打开。