xinli/完整打包流程.bat
2025-12-02 15:12:55 +08:00

192 lines
3.9 KiB
Batchfile
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@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