فهرست منبع

Update 优化打包脚本

Yue 1 ماه پیش
والد
کامیت
2dbf120c79
2فایلهای تغییر یافته به همراه43 افزوده شده و 22 حذف شده
  1. 36 15
      UI/CF.APP/chicken_farm/.scripts/_build.bat
  2. 7 7
      UI/CF.APP/chicken_farm/.scripts/build_all_apk.bat

+ 36 - 15
UI/CF.APP/chicken_farm/.scripts/build.bat → UI/CF.APP/chicken_farm/.scripts/_build.bat

@@ -8,8 +8,8 @@ for %%i in ("%PROJECT_ROOT%") do set "PROJECT_ROOT=%%~fi"
 
 :: ========== 2. 参数校验 ==========
 if "%~1"=="" (
-  echo [Error] 请使用命令: run_env.bat [prod|dev] [no_pda|offline] [android-arm,android-arm64] [appName]
-  echo [示例]  run_env.bat prod no_pda android-arm,android-arm64 "no_pda_cf-app"
+  echo [Error] 请使用命令: _build.bat [prod^|dev] [version] [no_pda^|offline] [appName]
+  echo [示例]  _build.bat prod v1.0.0 no_pda "cf-app-v1.0.0-no_pda"
   pause
   exit /b 1
 )
@@ -20,20 +20,41 @@ if /i not "%~1"=="prod" if /i not "%~1"=="dev" (
   exit /b 1
 )
 
-if not "%~2"=="" if /i not "%~2"=="no_pda" if /i not "%~2"=="offline" (
-  echo [Error] 参数2无效,仅支持 no_pda 或 offline
-  pause
-  exit /b 1
-)
+:: 注意:参数2是version,参数3是环境标识(no_pda/offline),参数4是appName
 
 :: ========== 3. 环境变量加载 ==========
 set "ENV=%~1"
-if not "%~2"=="" set "ENV=%~1_%~2"
-set "ANDROID_PLATFORM=android-arm"
-if not "%~3"=="" set "ANDROID_PLATFORM=%~3"
+if not "%~3"=="" if /i "%~3"=="no_pda" (
+  set "ENV=%~1_no_pda"
+) else if not "%~3"=="" if /i "%~3"=="offline" (
+  set "ENV=%~1_offline"
+)
+
+set "ANDROID_PLATFORM=android-arm64"
 set "APP_NAME=cf-app"
-if not "%~2"=="" set "APP_NAME=%~2_%APP_NAME%"
-if not "%~4"=="" set "APP_NAME=%~4"
+
+:: 根据参数组合设置APP_NAME
+if not "%~4"=="" (
+  :: 如果提供了appName(第四个参数)
+  set "APP_NAME=%~4"
+) else (
+  :: 否则按规则构造APP_NAME
+  if not "%~3"=="" (
+    if  "%~3"=="no_pda" (
+      set "APP_NAME=pda_no_cf-app"
+    ) else if  "%~3"=="offline" (
+      set "APP_NAME=pda_offline_cf-app"
+    )
+  ) else (
+    set "APP_NAME=pda_cf-app"
+  )
+  
+  set "APP_VERSION=V1.0.0"
+  :: 添加版本号到APP_NAME
+  if not "%~2"=="" (
+    set "APP_VERSION=%~2"
+  )
+)
 
 set "ENV_FILE=%PROJECT_ROOT%\.env\.env.%ENV%"
 if not exist "%ENV_FILE%" (
@@ -61,10 +82,10 @@ if !errorlevel! neq 0 (
 
 :: ========== 6. 文件处理优化 ==========
 :: 生成时间戳 (YYYYMMDDHHMMSS)
-for /f %%i in ('powershell -Command "Get-Date -Format yyyyMMddHHmmss"') do set TIMESTAMP=%%i
+@REM for /f %%i in ('powershell -Command "Get-Date -Format yyyyMMddHHmmss"') do set TIMESTAMP=%%i
 
 set "APK_SOURCE=%PROJECT_ROOT%\build\app\outputs\flutter-apk\app-release.apk"
-set "APK_DEST=%PROJECT_ROOT%\release\app\%APP_NAME%_%TIMESTAMP%.apk"
+set "APK_DEST=%PROJECT_ROOT%\release\app\%APP_NAME%_%APP_VERSION%.apk"
 
 if exist "%APK_SOURCE%" (
   copy /y "%APK_SOURCE%" "%APK_DEST%" >nul
@@ -73,4 +94,4 @@ if exist "%APK_SOURCE%" (
   echo ==============================================
 ) else (
   echo [Error] APK源文件不存在: %APK_SOURCE%
-)
+)

+ 7 - 7
UI/CF.APP/chicken_farm/.scripts/build_all_apk.bat

@@ -8,8 +8,8 @@ set "SCRIPT_DIR=%~dp0"
 :: 项目根目录(.scripts 的上级目录)
 set "PROJECT_ROOT=%SCRIPT_DIR%.."
 :: 编译脚本路径(直接指向当前目录的 build.bat,无需重复拼接 .scripts)
-set "BUILD_SCRIPT=%SCRIPT_DIR%build.bat"
-
+set "BUILD_SCRIPT=%SCRIPT_DIR%_build.bat"
+set "VERSION=V1.0.0"
 :: ========== 前置检查 ==========
 if not exist "%BUILD_SCRIPT%" (
   echo [错误] 未找到编译脚本:%BUILD_SCRIPT%
@@ -25,7 +25,7 @@ echo ==============================================
 :: 1. 编译 prod 基础环境
 echo.
 echo [第1个] 开始编译:prod 基础环境
-call "%BUILD_SCRIPT%" prod
+call "%BUILD_SCRIPT%" prod "%VERSION%"
 if !errorlevel! neq 0 (
   echo [错误] prod 基础环境编译失败!
   pause
@@ -36,8 +36,8 @@ echo [第1个] prod 基础环境编译完成 ??
 
 :: 2. 编译 prod_offline 环境
 echo.
-echo [第2个] 开始编译:prod offline android-arm环境
-call "%BUILD_SCRIPT%" prod offline android-arm
+echo [第2个] 开始编译:prod offline 环境
+call "%BUILD_SCRIPT%" prod "%VERSION%" offline
 if !errorlevel! neq 0 (
   echo [错误] prod offline 环境编译失败!
   pause
@@ -47,8 +47,8 @@ echo [第2个] prod offline 环境编译完成 ??
 
 :: 3. 编译 prod_no_pda 环境
 echo.
-echo [第3个] 开始编译:prod no_pda android-arm64环境
-call "%BUILD_SCRIPT%" prod no_pda android-arm64
+echo [第3个] 开始编译:prod no_pda 环境
+call "%BUILD_SCRIPT%" prod "%VERSION%" no_pda
 if !errorlevel! neq 0 (
   echo [错误] prod no_pda 环境编译失败!
   pause