---
description: 正式版 Release APK 打包、升 Patch 版號、產出 OTA keyin 與 Git tag 指引（依硬體 S9/S12；流程由雲端 shopping_mode 決定）
argument-hint: [S9|S12]
allowed-tools: Bash, Read, Edit
---

執行本專案的正式發版 workflow，定義於 `.agents/workflows/release-apk.md`（單一真相來源）。

本次參數：「$ARGUMENTS」（硬體規格：S9 / S12；可能為空，預設 S12XYU）

> 注意：客戶專案（購買流程）已收斂為執行期 `shopping_mode`（雲端 B014 下發），發版對象只剩硬體規格。
> 部署鐵律：發布前 star-cloud 必須先為每台現役機設好 `shopping_mode`，否則預設 basic 跑錯流程。

## 執行方式
1. 先 Read `.agents/workflows/release-apk.md`，理解步驟零～三。
2. 步驟零（OTA 鐵律）：讀 `app/build.gradle` 把 `verPatch` 遞增 1（確保 versionCode 變大可觸發 OTA），回報新版號。
3. 步驟一～三：依序執行 workflow 內每個 bash 區塊。**關鍵**：workflow 的 bash 以位置參數 `$1` 取得硬體規格，執行每個區塊前先注入本次參數：

       set -- $ARGUMENTS

   無參數時預設 S12XYU（接受 S9/S12，或相容 中國醫→S9、晟崴/通用→S12）。
4. 環境用 Java 17（`JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64`）；Release 會跑混淆與 lintVital，較久 → 用 run_in_background。
5. 步驟二導出正式簽章 APK 到 `outputs/` 並印出 OTA 後台 keyin 對照資料。
6. 步驟三回報 Git 發版 tag 指引。

> 注意：這是「正式發版」，會升版號並產正式簽章 APK。除非使用者明確指示，不要自行 commit / push / 打 tag，只回報指引。
