From 6b3e05051ff6f26f70e8125dd310ff7347c8bdde Mon Sep 17 00:00:00 2001 From: sky121113 Date: Wed, 27 May 2026 10:16:56 +0800 Subject: [PATCH] =?UTF-8?q?[FIX]=20=E5=8D=87=E7=B4=9A=E8=A3=9C=E4=B8=81?= =?UTF-8?q?=E7=89=88=E8=99=9F=E8=87=B3=2010.8.8=20=E4=B8=A6=E5=84=AA?= =?UTF-8?q?=E5=8C=96=20APK=20=E8=87=AA=E5=8B=95=E7=B7=A8=E8=AD=AF=E8=88=87?= =?UTF-8?q?=E7=99=BC=E5=B8=83=E8=85=B3=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 遞增 app/build.gradle 中的 verPatch 變數至 8(對應版本為 10_08_8_R,versionCode 為 100808),以利機台正常觸發 OTA 覆蓋安裝。 2. 重構 .agents/workflows/compiler-apk.md 腳本中的 APK 複製與命名機制,改為動態尋找並使用原始檔名,避免寫死檔名導致版本變更時失效。 3. 在編譯腳本中加入自動提取與計算版本資訊的輸出(包含 versionName 與 versionCode),方便在 StarCloud 後台登記時作為參考。 4. 更新 ADB 自動安裝路徑尋找方式,使其與動態尋找 APK 機制保持一致。 --- .agents/workflows/compiler-apk.md | 34 ++++++++++++++++++++++++++----- app/build.gradle | 2 +- 2 files changed, 30 insertions(+), 6 deletions(-) diff --git a/.agents/workflows/compiler-apk.md b/.agents/workflows/compiler-apk.md index 57881b1..318cbdf 100644 --- a/.agents/workflows/compiler-apk.md +++ b/.agents/workflows/compiler-apk.md @@ -37,11 +37,29 @@ cd /home/mama/projects/TaiwanStar_general_size_s_Chengwai mkdir -p outputs # 動態尋找編譯產出的最新 APK 檔案,避免因版號變更導致寫死路徑失效 APK_SOURCE=$(find app/build/outputs/apk/S_12_XY_U_Standard_/debug/ -name "app-S_12_XY_U_Standard_-*-debug.apk" | head -n 1) -APK_DEST="outputs/TaiwanStar_debug.apk" if [ -n "$APK_SOURCE" ]; then + APK_NAME=$(basename "$APK_SOURCE") + APK_DEST="outputs/$APK_NAME" cp "$APK_SOURCE" "$APK_DEST" - echo "✅ APK 已經複製到 outputs 資料夾,路徑為:$APK_DEST (原始檔名: $(basename $APK_SOURCE))" + echo "✅ APK 已經複製到 outputs 資料夾,路徑為:$APK_DEST" + + # 提取與計算版本資訊 + MAJOR=$(grep "def verMajor" app/build.gradle | awk '{print $4}') + MINOR=$(grep "def verMinor" app/build.gradle | awk '{print $4}') + PATCH=$(grep "def verPatch" app/build.gradle | awk '{print $4}') + VERSION_NAME="${MAJOR}_0${MINOR}_${PATCH}_R" + VERSION_CODE=$((MAJOR * 10000 + MINOR * 100 + PATCH)) + FLAVOR="S_12_XY_U_Standard_" + + echo "==================================================" + echo "📢 後台更新 keyin 參考資料:" + echo "--------------------------------------------------" + echo "* 產品風味 (Flavor):$FLAVOR" + echo "* 版本名稱 (versionName):$VERSION_NAME" + echo "* 版本代碼 (versionCode):$VERSION_CODE" + echo "* APK 檔案名稱:$APK_NAME" + echo "==================================================" else echo "❌ 找不到編譯產出的 APK 檔案,複製失敗!" exit 1 @@ -60,9 +78,15 @@ DEVICE_COUNT=$($ADB_PATH devices | grep -v "List of devices" | grep "device" | w if [ "$DEVICE_COUNT" -gt 0 ]; then echo "📱 偵測到 $DEVICE_COUNT 個設備,開始安裝..." - $ADB_PATH install -r -d -t "/home/mama/projects/TaiwanStar_general_size_s_Chengwai/outputs/TaiwanStar_debug.apk" - echo "🚀 安裝完成,正在啟動 App..." - $ADB_PATH shell am start -n com.unibuy.smartdevice/com.unibuy.smartdevice.HomeActivity + APK_TARGET=$(find outputs/ -name "app-S_12_XY_U_Standard_-*-debug.apk" | head -n 1) + if [ -n "$APK_TARGET" ]; then + $ADB_PATH install -r -d -t "/home/mama/projects/TaiwanStar_general_size_s_Chengwai/$APK_TARGET" + echo "🚀 安裝完成,正在啟動 App..." + $ADB_PATH shell am start -n com.unibuy.smartdevice/com.unibuy.smartdevice.HomeActivity + else + echo "❌ 找不到 outputs 目錄下的 APK 檔案,安裝失敗!" + exit 1 + fi else echo "⚠️ 未偵測到連接的手機或設備,已保留 APK 檔案,跳過安裝步驟。" fi diff --git a/app/build.gradle b/app/build.gradle index 64d825f..9823ef5 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,7 +10,7 @@ plugins { // ========================================================================= def verMajor = 10 def verMinor = 8 -def verPatch = 6 +def verPatch = 8 android { namespace 'com.unibuy.smartdevice'