---
description: 自動編譯 Android APK、輸出至專屬目錄並安裝至實體手機
---

# 編譯與安裝 APK 工作流 (compiler-apk)

這個 Workflow 主要是協助您一鍵完成 Android 專案的編譯、匯出與安裝。當您呼叫 `/compiler-apk` 時，AI 會自動為您執行以下步驟：

## 步驟一：設定環境並編譯 Debug APK
使用 Java 17 與 Gradle 編譯專屬 Flavor (`S_12_XY_U_Standard_Debug`) 的程式碼。

```bash
// turbo
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
cd /home/mama/projects/TaiwanStar_general_size_s_Chengwai
./gradlew :app:assembleS_12_XY_U_Standard_Debug
```

## 步驟二：導出 APK 到 outputs 資料夾
將編譯出來的深層 APK 複製到專案最外層的 `outputs` 資料夾，並統一命名為 `TaiwanStar_debug.apk`。

```bash
// turbo
cd /home/mama/projects/TaiwanStar_general_size_s_Chengwai
mkdir -p outputs
cp app/build/outputs/apk/S_12_XY_U_Standard_/debug/app-S_12_XY_U_Standard_-10_08_2_R-debug.apk outputs/TaiwanStar_debug.apk
echo "✅ APK 已經複製到專案根目錄的 outputs 資料夾中"
```

## 步驟三：安裝並啟動 App (如果有連接設備)
利用 WSL 串接 Windows 端的 ADB，偵測到設備後才執行安裝與啟動。

```bash
// turbo
ADB_PATH="/mnt/c/Users/User/AppData/Local/Android/Sdk/platform-tools/adb.exe"
APK_PATH="/home/mama/projects/TaiwanStar_general_size_s_Chengwai/outputs/TaiwanStar_debug.apk"

# 檢查是否有設備連接
DEVICE_COUNT=$($ADB_PATH devices | grep -v "List of devices" | grep "device" | wc -l)

if [ "$DEVICE_COUNT" -gt 0 ]; then
    echo "📱 偵測到 $DEVICE_COUNT 個設備，開始安裝..."
    $ADB_PATH install -r -d -t $APK_PATH
    echo "🚀 安裝完成，正在啟動 App..."
    $ADB_PATH shell am start -n com.unibuy.smartdevice/com.unibuy.smartdevice.HomeActivity
else
    echo "⚠️ 未偵測到連接的手機或設備，跳過安裝與啟動步驟。"
fi
```
