---
description: 編譯 Debug APK、導出 outputs/、偵測到設備則安裝（依硬體規格 S9/S12 打包；購買流程由雲端 shopping_mode 決定）
argument-hint: [S9|S12]
allowed-tools: Bash, Read, Edit
---

執行本專案的 APK 編譯安裝 workflow，定義於 `.agents/workflows/compiler-apk.md`（單一真相來源）。

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

> 注意：客戶專案（購買流程）已收斂為執行期 `shopping_mode`（雲端 B014 下發），打包對象只剩硬體規格。
> 同一支 APK 在現場依雲端 `shopping_mode` 切換 basic / employee_card / pickup_sheet。

## 執行方式
1. 先 Read `.agents/workflows/compiler-apk.md`，理解步驟零～三。
2. 步驟零（版號）：執行 `git status --porcelain app/`；若有未提交改動且本輪對話尚未升過版，讀 `app/build.gradle` 把 `verPatch` 遞增 1 並回報新版號。
3. 步驟一～三：依序執行 workflow 內每個 bash 區塊。**關鍵**：workflow 的 bash 以位置參數 `$1` 取得硬體規格，所以執行每個區塊前，先在區塊最前面注入本次參數：

       set -- $ARGUMENTS

   讓 workflow 內的 `$1` 正確解析（S9/S12，或相容舊用語 中國醫→S9、晟崴/通用→S12）。若本次無參數，workflow 自身預設 S12XYU。
4. 環境用 workflow 指定的 Java 17（`JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64`）。
5. 編譯/導出屬長任務 → 用 run_in_background，完成再回報。
6. 步驟三會偵測 adb 設備：有連設備才安裝並啟動 App；沒設備就保留 APK 結束。
7. 最後完整回報 workflow 輸出的「後台 keyin 參考資料」（硬體規格 / versionName / versionCode / APK 檔名）。
