xinli/完整打包流程.bat

192 lines
3.9 KiB
Batchfile
Raw Normal View History

2025-12-02 15:12:55 +08:00
@echo off
chcp 65001 >nul
echo ========================================
echo 心理测评系统 - 完整打包流程
echo ========================================
echo.
echo 此脚本将完成以下操作:
echo 1. 重新构建前端(包含最新的 TTS 修复)
echo 2. 清理并重新打包 Android APK
echo.
echo 预计耗时5-10 分钟
echo.
pause
echo.
echo ========================================
echo [阶段 1/2] 重新构建前端
echo ========================================
echo.
cd /d "%~dp0xinli-ui"
echo 当前目录:%CD%
echo.
echo [1.1] 检查 Node.js 环境...
call node -v >nul 2>&1
if %ERRORLEVEL% NEQ 0 (
echo ✗ Node.js 未安装或未配置到 PATH
echo 请先安装 Node.js
cd /d "%~dp0"
pause
exit /b 1
)
echo ✓ Node.js 已安装
call node -v
echo.
echo [1.2] 检查 package.json...
if not exist "package.json" (
echo ✗ 未找到 package.json
echo 请确认在正确的目录
cd /d "%~dp0"
pause
exit /b 1
)
echo ✓ package.json 存在
echo.
echo [1.3] 清理旧的构建文件...
if exist "dist" (
echo 删除 dist 目录...
rd /s /q "dist"
)
echo ✓ 清理完成
echo.
echo [1.4] 构建生产版本...
echo 开始构建,请耐心等待...
echo.
call npm run build:prod
if %ERRORLEVEL% NEQ 0 (
echo.
echo ✗ 前端构建失败
cd /d "%~dp0"
pause
exit /b 1
)
echo.
echo ✓ 前端构建成功
echo.
cd /d "%~dp0"
echo.
echo ========================================
echo [阶段 2/2] 打包 Android APK
echo ========================================
echo.
cd /d "%~dp0xinli-App"
echo 当前目录:%CD%
echo.
echo [2.1] 清理旧的构建文件...
if exist "app\build" (
echo 删除 app\build 目录...
rd /s /q "app\build"
)
if exist "build" (
echo 删除根目录 build 文件夹...
rd /s /q "build"
)
if exist ".gradle" (
echo 删除 .gradle 缓存...
rd /s /q ".gradle"
)
echo ✓ 清理完成
echo.
echo [2.2] 清理 Gradle 缓存...
call gradlew.bat clean
if %ERRORLEVEL% NEQ 0 (
echo ✗ Gradle clean 失败
cd /d "%~dp0"
pause
exit /b 1
)
echo ✓ Gradle clean 完成
echo.
echo [2.3] 检查 Java 环境...
if not defined JAVA_HOME (
echo ✗ JAVA_HOME 未设置
echo 请设置 JAVA_HOME 环境变量
cd /d "%~dp0"
pause
exit /b 1
)
echo JAVA_HOME: %JAVA_HOME%
"%JAVA_HOME%\bin\java.exe" -version
echo ✓ Java 环境正常
echo.
echo [2.4] 构建 Release APK...
echo 开始构建,请耐心等待...
echo.
call gradlew.bat assembleRelease --stacktrace
if %ERRORLEVEL% NEQ 0 (
echo.
echo ✗ APK 构建失败
cd /d "%~dp0"
pause
exit /b 1
)
echo.
echo ✓ APK 构建成功
echo.
cd /d "%~dp0"
echo.
echo ========================================
echo ✓✓✓ 完整打包流程完成!✓✓✓
echo ========================================
echo.
set APK_PATH=%~dp0xinli-App\app\build\outputs\apk\release\app-release.apk
if exist "%APK_PATH%" (
echo APK 文件位置:
echo %APK_PATH%
echo.
echo 文件大小:
dir "%APK_PATH%" | findstr "app-release.apk"
echo.
echo ========================================
echo 📱 安装说明
echo ========================================
echo.
echo 1. ⚠️ 先卸载手机上的旧版本 App重要
echo - 设置 → 应用管理 → 心理测评 → 卸载
echo.
echo 2. 📲 安装新的 APK
echo - 将 APK 传输到手机
echo - 点击安装
echo.
echo 3. ✅ 测试功能
echo - 登录系统
echo - 进入量表/问卷答题页面
echo - 测试朗读功能(应该不再灰色)
echo - 测试权限过滤(普通用户只能看到授权的问卷)
echo.
echo ========================================
echo 🎉 打包完成!
echo ========================================
) else (
echo ✗ 未找到 APK 文件
echo.
echo 搜索 APK 文件...
dir /s /b "%~dp0xinli-App\*.apk" 2>nul
)
echo.
pause