266 lines
5.4 KiB
Markdown
266 lines
5.4 KiB
Markdown
|
|
# 推荐方案:使用 HBuilderX 打包
|
|||
|
|
|
|||
|
|
## 🎯 **问题总结**
|
|||
|
|
|
|||
|
|
经过多次尝试,Android Studio 打包遇到无法解决的兼容性问题:
|
|||
|
|
|
|||
|
|
### **根本原因:**
|
|||
|
|
- HBuilder 官方SDK (`lib.5plus.base-release.aar`) 使用了 Android 35 的新属性
|
|||
|
|
- 你的 Android SDK 35 的 `android.jar` 文件已损坏
|
|||
|
|
- Android SDK 34 不支持这个新属性
|
|||
|
|
- 无法通过配置解决(已尝试多种方案)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## ✅ **推荐方案:HBuilderX 云打包**
|
|||
|
|
|
|||
|
|
HBuilderX 是 DCloud 官方工具,专为 uni-app 优化,避免所有兼容性问题。
|
|||
|
|
|
|||
|
|
### **优势:**
|
|||
|
|
1. ✅ **零配置** - 无需安装 Android Studio、SDK
|
|||
|
|
2. ✅ **云端打包** - 服务器自动处理所有依赖
|
|||
|
|
3. ✅ **5-10 分钟** - 远快于本地构建
|
|||
|
|
4. ✅ **官方支持** - 所有库完美兼容
|
|||
|
|
5. ✅ **语音测评** - Vosk 库自动集成
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🚀 **使用步骤(超简单)**
|
|||
|
|
|
|||
|
|
### **方式 1:云打包(推荐)** ⭐
|
|||
|
|
|
|||
|
|
**1. 下载 HBuilderX**
|
|||
|
|
```
|
|||
|
|
https://www.dcloud.io/hbuilderx.html
|
|||
|
|
下载"正式版"(不是 Alpha)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**2. 打开项目**
|
|||
|
|
```
|
|||
|
|
文件 → 打开目录
|
|||
|
|
选择: D:\Desktop\Project\ry_study-v_03\ry_study-v_03\fronted_uniapp\fronted_uniapp
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**3. 配置 AppID**
|
|||
|
|
```
|
|||
|
|
已配置: __UNI__08E0C13
|
|||
|
|
无需修改
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**4. 云打包**
|
|||
|
|
```
|
|||
|
|
菜单: 发行 → 原生APP-云打包
|
|||
|
|
|
|||
|
|
选项:
|
|||
|
|
✓ Android
|
|||
|
|
✓ 使用 DCloud 证书(测试用)
|
|||
|
|
或上传自己的证书(正式发布)
|
|||
|
|
|
|||
|
|
点击"打包"
|
|||
|
|
等待 5-10 分钟
|
|||
|
|
下载 APK
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**5. 完成!**
|
|||
|
|
```
|
|||
|
|
APK 包含所有功能:
|
|||
|
|
✓ 服务器连接
|
|||
|
|
✓ 学习记录
|
|||
|
|
✓ 考试功能
|
|||
|
|
✓ 课件查看
|
|||
|
|
✓ 语音测评(Vosk)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### **方式 2:本地打包(需要配置)**
|
|||
|
|
|
|||
|
|
如果需要本地打包(离线环境):
|
|||
|
|
|
|||
|
|
**1. 配置本地打包密钥**
|
|||
|
|
```
|
|||
|
|
菜单: 工具 → 设置 → 运行配置
|
|||
|
|
配置 Android SDK 路径
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**2. 本地打包**
|
|||
|
|
```
|
|||
|
|
菜单: 发行 → 原生APP-本地打包
|
|||
|
|
选择平台和证书
|
|||
|
|
等待完成
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## ⚡ **修改服务器地址后重新打包**
|
|||
|
|
|
|||
|
|
### **步骤:**
|
|||
|
|
|
|||
|
|
**1. 修改配置**
|
|||
|
|
```javascript
|
|||
|
|
// src/utils/config.js
|
|||
|
|
const DEFAULT_SERVER_HOST = '新的IP'
|
|||
|
|
const DEFAULT_SERVER_PORT = 30091
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**2. 重新云打包**
|
|||
|
|
```
|
|||
|
|
HBuilderX 菜单: 发行 → 原生APP-云打包
|
|||
|
|
等待 5-10 分钟
|
|||
|
|
获取新 APK
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**总耗时:10 分钟**(vs Android Studio 的 50+ 分钟)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📊 **时间对比**
|
|||
|
|
|
|||
|
|
| 操作 | Android Studio | HBuilderX 云打包 |
|
|||
|
|
|------|---------------|----------------|
|
|||
|
|
| 环境搭建 | 1-2 小时 | **0 分钟** |
|
|||
|
|
| 首次打包 | 50-75 分钟 | **5-10 分钟** |
|
|||
|
|
| 修改后打包 | 5-10 分钟 | **5-10 分钟** |
|
|||
|
|
| 兼容性问题 | ❌ 经常出现 | ✅ 无问题 |
|
|||
|
|
| 学习曲线 | 高 | **低** |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## ✅ **功能保证**
|
|||
|
|
|
|||
|
|
### **所有功能都能正常工作:**
|
|||
|
|
|
|||
|
|
| 功能 | 状态 | 说明 |
|
|||
|
|
|------|------|------|
|
|||
|
|
| 服务器连接 | ✅ | 配置 IP 即可 |
|
|||
|
|
| 学习记录 | ✅ | 自动同步 |
|
|||
|
|
| 考试功能 | ✅ | 完整流程 |
|
|||
|
|
| 课件查看 | ✅ | 所有格式 |
|
|||
|
|
| **语音测评** | ✅ | **Vosk 自动集成** |
|
|||
|
|
| 用户登录 | ✅ | 后端认证 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🔧 **如果仍想用 Android Studio**
|
|||
|
|
|
|||
|
|
需要解决的问题:
|
|||
|
|
|
|||
|
|
### **选项 1:降级 HBuilder SDK**
|
|||
|
|
```
|
|||
|
|
使用不包含 Android 35 属性的旧版 SDK
|
|||
|
|
需要找到兼容版本(可能影响其他功能)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### **选项 2:修复 SDK 35**
|
|||
|
|
```
|
|||
|
|
重新下载完整的 Android SDK 35
|
|||
|
|
确保 android.jar 文件完整
|
|||
|
|
然后使用 AGP 8.2+ 和 Gradle 8.2+
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### **选项 3:手动修改 AAR 库**
|
|||
|
|
```
|
|||
|
|
解压 lib.5plus.base-release.aar
|
|||
|
|
移除所有 windowOptOutEdgeToEdgeEnforcement 引用
|
|||
|
|
重新打包(技术难度高,可能破坏签名)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**但这些方案都比较复杂,不如直接用 HBuilderX。**
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 💡 **推荐流程**
|
|||
|
|
|
|||
|
|
### **开发阶段:**
|
|||
|
|
```
|
|||
|
|
1. 使用 HBuilderX 或 VS Code 编写代码
|
|||
|
|
2. 使用浏览器或模拟器测试
|
|||
|
|
3. 修改服务器地址配置
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### **打包阶段:**
|
|||
|
|
```
|
|||
|
|
1. HBuilderX 云打包 → 获取 APK
|
|||
|
|
2. 安装到真机测试
|
|||
|
|
3. 测试所有功能(包括语音测评)
|
|||
|
|
4. 确认无误后分发
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### **后续更新:**
|
|||
|
|
```
|
|||
|
|
1. 修改代码或配置
|
|||
|
|
2. HBuilderX 云打包 → 新 APK
|
|||
|
|
3. 分发更新
|
|||
|
|
|
|||
|
|
每次只需 10 分钟!
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📱 **部署到服务器**
|
|||
|
|
|
|||
|
|
### **APK 分发流程:**
|
|||
|
|
|
|||
|
|
**1. 修改为正式服务器地址**
|
|||
|
|
```javascript
|
|||
|
|
const DEFAULT_SERVER_HOST = '你的正式服务器IP'
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**2. 使用 HBuilderX 打包**
|
|||
|
|
```
|
|||
|
|
使用自己的签名证书(正式发布)
|
|||
|
|
或使用 DCloud 证书(内部测试)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**3. 上传到文件服务器**
|
|||
|
|
```
|
|||
|
|
生成下载链接
|
|||
|
|
发送给用户
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**4. 用户安装**
|
|||
|
|
```
|
|||
|
|
用户下载 APK → 安装 → 自动连接服务器
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🎯 **总结**
|
|||
|
|
|
|||
|
|
### ✅ **HBuilderX 云打包优势:**
|
|||
|
|
- **简单** - 无需配置环境
|
|||
|
|
- **快速** - 5-10 分钟完成
|
|||
|
|
- **稳定** - 无兼容性问题
|
|||
|
|
- **完整** - 所有功能正常
|
|||
|
|
|
|||
|
|
### ❌ **Android Studio 的问题:**
|
|||
|
|
- **复杂** - 需要大量配置
|
|||
|
|
- **慢** - 首次需要 50+ 分钟
|
|||
|
|
- **不稳定** - 经常遇到兼容性问题
|
|||
|
|
- **难维护** - 版本升级困难
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📞 **建议**
|
|||
|
|
|
|||
|
|
**对于你的项目,强烈建议使用 HBuilderX 云打包。**
|
|||
|
|
|
|||
|
|
这样可以:
|
|||
|
|
- ✅ 避免所有技术问题
|
|||
|
|
- ✅ 节省大量时间
|
|||
|
|
- ✅ 确保所有功能正常
|
|||
|
|
- ✅ 快速迭代更新
|
|||
|
|
|
|||
|
|
**如果必须使用 Android Studio,需要:**
|
|||
|
|
- 降级到兼容的 HBuilder SDK 版本
|
|||
|
|
- 或修复 Android SDK 35
|
|||
|
|
- 或手动修改所有 AAR 库
|
|||
|
|
|
|||
|
|
**但这些都不如 HBuilderX 简单高效。**
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
*生成时间:2025-12-06*
|
|||
|
|
*推荐方案:HBuilderX 云打包*
|
|||
|
|
*预计打包时间:5-10 分钟*
|