|
@@ -8,8 +8,8 @@ for %%i in ("%PROJECT_ROOT%") do set "PROJECT_ROOT=%%~fi"
|
|
|
|
|
|
|
|
:: ========== 2. 参数校验 ==========
|
|
:: ========== 2. 参数校验 ==========
|
|
|
if "%~1"=="" (
|
|
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
|
|
pause
|
|
|
exit /b 1
|
|
exit /b 1
|
|
|
)
|
|
)
|
|
@@ -20,20 +20,41 @@ if /i not "%~1"=="prod" if /i not "%~1"=="dev" (
|
|
|
exit /b 1
|
|
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. 环境变量加载 ==========
|
|
:: ========== 3. 环境变量加载 ==========
|
|
|
set "ENV=%~1"
|
|
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"
|
|
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%"
|
|
set "ENV_FILE=%PROJECT_ROOT%\.env\.env.%ENV%"
|
|
|
if not exist "%ENV_FILE%" (
|
|
if not exist "%ENV_FILE%" (
|
|
@@ -61,10 +82,10 @@ if !errorlevel! neq 0 (
|
|
|
|
|
|
|
|
:: ========== 6. 文件处理优化 ==========
|
|
:: ========== 6. 文件处理优化 ==========
|
|
|
:: 生成时间戳 (YYYYMMDDHHMMSS)
|
|
:: 生成时间戳 (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_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%" (
|
|
if exist "%APK_SOURCE%" (
|
|
|
copy /y "%APK_SOURCE%" "%APK_DEST%" >nul
|
|
copy /y "%APK_SOURCE%" "%APK_DEST%" >nul
|
|
@@ -73,4 +94,4 @@ if exist "%APK_SOURCE%" (
|
|
|
echo ==============================================
|
|
echo ==============================================
|
|
|
) else (
|
|
) else (
|
|
|
echo [Error] APK源文件不存在: %APK_SOURCE%
|
|
echo [Error] APK源文件不存在: %APK_SOURCE%
|
|
|
-)
|
|
|
|
|
|
|
+)
|