# 🔧 重新打包指南 ## ❓ 为什么之前的 APK 不能正常使用? 可能的原因: 1. **前端资源未更新** - TTS 功能修复后需要重新构建前端 2. **构建缓存问题** - 旧的缓存导致新代码未生效 3. **WebView 资源问题** - App 中的 Web 资源未同步 4. **签名问题** - 签名不一致导致安装失败 ## ✅ 解决方案:完整重新打包 我已经为你创建了两个打包脚本: ### 方案 1:完整打包流程(推荐) **脚本位置**:`完整打包流程.bat` **包含内容**:前端构建 + Android 打包 ```bash # 在项目根目录执行 .\完整打包流程.bat ``` **优点**: - ✅ 自动构建最新前端代码(包含 TTS 修复) - ✅ 清理所有缓存 - ✅ 完整的错误检查 - ✅ 一键完成所有步骤 **执行步骤**: 1. 打开 PowerShell 或 CMD 2. 进入项目目录:`cd c:\Users\Administrator\Desktop\Project\xinli` 3. 执行脚本:`.\完整打包流程.bat` 4. 等待完成(约 5-10 分钟) --- ### 方案 2:只打包 Android App **脚本位置**:`xinli-App\完整重新打包.bat` **适用场景**:前端已经构建好,只需要重新打包 App ```bash # 在 Android 项目目录执行 cd xinli-App .\完整重新打包.bat ``` --- ## 📋 打包流程详解 ### 阶段 1: 前端构建(如果使用完整打包) ```bash cd xinli-ui npm run build:prod ``` **作用**: - 编译 Vue.js 前端代码 - 应用 TTS 朗读功能的修复 - 生成优化后的静态文件到 `dist` 目录 **预期输出**: ``` Building for production... ✓ built in XXs ``` --- ### 阶段 2: Android 打包 #### 步骤 1: 清理缓存 ```bash cd xinli-App # 删除旧的构建文件 rd /s /q app\build rd /s /q build rd /s /q .gradle # Gradle clean gradlew.bat clean ``` #### 步骤 2: 检查环境 ```bash # 检查 JAVA_HOME echo %JAVA_HOME% # 检查 Java 版本(需要 JDK 8) java -version ``` **要求**: - ✅ JAVA_HOME 已设置 - ✅ Java 版本为 1.8.x - ✅ Android SDK 已安装 #### 步骤 3: 构建 APK ```bash gradlew.bat assembleRelease ``` **预期输出**: ``` BUILD SUCCESSFUL in XXs ``` **APK 位置**: ``` xinli-App\app\build\outputs\apk\release\app-release.apk ``` --- ## 🚨 常见问题排查 ### 问题 1: "JAVA_HOME 未设置" **解决方法**: ```bash # 设置 JAVA_HOME(替换为你的 JDK 路径) set JAVA_HOME=D:\2_part\JAVA\JDK # 或在系统环境变量中永久设置 ``` ### 问题 2: "Node.js 未安装" **解决方法**: 1. 下载 Node.js:https://nodejs.org/ 2. 安装后重启命令行 3. 验证:`node -v` ### 问题 3: "npm run build:prod 失败" **解决方法**: ```bash cd xinli-ui # 重新安装依赖 npm install # 再次构建 npm run build:prod ``` ### 问题 4: "Gradle 构建失败" **常见原因**: 1. **网络问题** - 无法下载依赖 - 解决:检查网络,重试 2. **SDK 版本问题** - Build Tools 未安装 - 解决:打开 Android Studio → SDK Manager → 安装 Build Tools 30.0.3 3. **内存不足** - 解决:修改 `gradle.properties` 中的内存设置 ### 问题 5: APK 安装失败 **原因**:旧版本 App 未卸载 **解决方法**: ```bash # 方法 1: 手动卸载 设置 → 应用管理 → 心理测评 → 卸载 # 方法 2: 使用 adb(如果手机已连接电脑) adb uninstall com.xinli.app adb install app-release.apk ``` --- ## 📱 安装和测试步骤 ### 1. 卸载旧版本(重要!) ``` ⚠️ 必须先卸载旧版本,否则可能安装失败或功能异常 ``` **操作步骤**: - 手机 → 设置 → 应用管理 - 找到"心理测评"或"xinli" - 点击卸载 ### 2. 安装新 APK **方法 1: 通过 USB 传输** 1. 将 APK 复制到手机 2. 在手机上点击 APK 文件 3. 允许安装未知来源应用 4. 点击安装 **方法 2: 通过 adb 安装** ```bash # 手机连接电脑,开启 USB 调试 adb devices adb install -r app-release.apk ``` ### 3. 测试功能 #### 测试 1: TTS 朗读功能 1. 登录系统 2. 进入量表/问卷答题页面 3. **预期**: - ✅ 朗读按钮不再是灰色 - ✅ 点击"朗读全部"能听到声音 - ✅ 点击"朗读题干"能听到声音 - ✅ 点击选项朗读按钮能听到声音 #### 测试 2: 权限过滤(如果已修复后端) 1. 使用普通用户登录 2. 查看问卷列表 3. **预期**: - ✅ 只能看到公开问卷和已授权的问卷 - ❌ 看不到未授权的问卷 #### 测试 3: 基本功能 1. 登录功能 2. 答题功能 3. 提交测评 4. 查看报告 --- ## 🎯 快速打包步骤(简化版) ### 如果你只想快速打包 Android App: ```bash # 1. 进入 Android 项目目录 cd c:\Users\Administrator\Desktop\Project\xinli\xinli-App # 2. 清理 rd /s /q app\build rd /s /q build # 3. 打包 gradlew.bat clean assembleRelease # 4. 查找 APK dir /s app-release.apk ``` APK 位置:`app\build\outputs\apk\release\app-release.apk` --- ## 📊 打包时间预估 | 步骤 | 预计时间 | |------|---------| | 前端构建 | 2-3 分钟 | | Gradle clean | 10-30 秒 | | APK 构建 | 3-5 分钟 | | **总计** | **5-10 分钟** | --- ## ✅ 打包成功标志 看到以下信息表示打包成功: ``` ======================================== ✓✓✓ 完整打包流程完成!✓✓✓ ======================================== APK 文件位置: c:\Users\Administrator\Desktop\Project\xinli\xinli-App\app\build\outputs\apk\release\app-release.apk 文件大小: XXXX MB ``` --- ## 🔍 验证 APK 是否包含最新代码 ### 检查方法 1: 查看构建时间 ```bash # 查看 APK 文件的修改时间 dir app\build\outputs\apk\release\app-release.apk ``` 应该是刚刚构建的时间(几分钟前) ### 检查方法 2: 安装后测试 1. 安装 APK 2. 打开 App 3. 打开浏览器控制台(如果是调试版) 4. 进入答题页面 5. 查看控制台日志: - 应该看到:`✅ 使用Android原生TTS` - 或:`✅ Android TTS 已就绪(延迟检测)` --- ## 📝 注意事项 ### 1. 前端资源同步 - ⚠️ 如果修改了前端代码,**必须**重新构建前端 - ⚠️ App 中的 WebView 加载的是服务器上的网页 - ⚠️ 打包 APK 后,还需要将前端 `dist` 目录部署到服务器 ### 2. 签名说明 - 当前使用 debug 签名(测试用) - 正式发布需要生成正式签名 - 签名不一致会导致安装失败 ### 3. 版本号 - 当前版本:`versionCode 1`, `versionName "1.0"` - 如需更新版本号,修改 `app/build.gradle` --- ## 🎉 完成! 打包完成后: 1. ✅ 找到 APK 文件 2. ✅ 卸载旧版本 3. ✅ 安装新 APK 4. ✅ 测试功能 5. ✅ 享受修复后的应用!