202 lines
10 KiB
Plaintext
202 lines
10 KiB
Plaintext
|
||
╔═══════════════════════════════════════════════════════════════════════════╗
|
||
║ uni-app 项目打包流程图 ║
|
||
╚═══════════════════════════════════════════════════════════════════════════╝
|
||
|
||
|
||
┌─────────────────────────────────────────────────────────────────────────┐
|
||
│ 第一步:编译代码 │
|
||
└─────────────────────────────────────────────────────────────────────────┘
|
||
|
||
命令:npm run build:app
|
||
│
|
||
├─ 编译 Vue 组件
|
||
├─ 打包资源文件
|
||
├─ 处理样式和脚本
|
||
└─ 生成中间产物
|
||
│
|
||
▼
|
||
unpackage/dist/build/app-plus/
|
||
├─ app-service.js (业务逻辑)
|
||
├─ app.css (样式文件)
|
||
├─ manifest.json (配置文件)
|
||
└─ pages/ (页面文件)
|
||
|
||
⚠️ 注意:到这一步还没有 APK 文件!
|
||
|
||
|
||
┌─────────────────────────────────────────────────────────────────────────┐
|
||
│ 第二步:生成安装包(必须选择一种方式) │
|
||
└─────────────────────────────────────────────────────────────────────────┘
|
||
|
||
╔═══════════════════════════════════════════════════════════════════════╗
|
||
║ 方式 A:HBuilderX 云打包(推荐) ║
|
||
╚═══════════════════════════════════════════════════════════════════════╝
|
||
|
||
1. 下载 HBuilderX
|
||
https://www.dcloud.io/hbuilderx.html
|
||
│
|
||
▼
|
||
2. 打开项目
|
||
HBuilderX → 文件 → 打开目录
|
||
│
|
||
▼
|
||
3. 云端打包
|
||
菜单 → 发行 → 原生App-云打包
|
||
│
|
||
├─ 选择平台:Android / iOS
|
||
├─ 配置证书:公共测试证书(快速)
|
||
└─ 点击打包
|
||
│
|
||
▼
|
||
4. 云端处理(5-10分钟)
|
||
├─ 集成原生代码
|
||
├─ 编译原生项目
|
||
├─ 签名打包
|
||
└─ 生成 APK/IPA
|
||
│
|
||
▼
|
||
5. 下载安装包
|
||
📦 your-app.apk (Android)
|
||
📦 your-app.ipa (iOS)
|
||
|
||
✅ 优点:简单、快速、无需配置
|
||
⏱️ 耗时:15-20 分钟
|
||
|
||
|
||
╔═══════════════════════════════════════════════════════════════════════╗
|
||
║ 方式 B:离线打包(高级) ║
|
||
╚═══════════════════════════════════════════════════════════════════════╝
|
||
|
||
1. 下载离线 SDK
|
||
https://nativesupport.dcloud.net.cn/
|
||
│
|
||
▼
|
||
2. 配置原生环境
|
||
Android: Android Studio + JDK
|
||
iOS: Xcode (仅 Mac)
|
||
│
|
||
▼
|
||
3. 集成编译产物
|
||
复制 unpackage/dist/build/app-plus
|
||
到 SDK 的资源目录
|
||
│
|
||
▼
|
||
4. 原生打包
|
||
Android Studio → Build → Generate APK
|
||
Xcode → Archive → Export IPA
|
||
│
|
||
▼
|
||
5. 获得安装包
|
||
📦 app-release.apk
|
||
📦 app-release.ipa
|
||
|
||
⚠️ 需要:原生开发环境、SDK 配置
|
||
⏱️ 耗时:首次配置需要 1-2 小时
|
||
|
||
|
||
┌─────────────────────────────────────────────────────────────────────────┐
|
||
│ 完整流程对比 │
|
||
└─────────────────────────────────────────────────────────────────────────┘
|
||
|
||
┌──────────────────┬──────────────────┬──────────────────────────────┐
|
||
│ 方式 │ 难度 │ 适用场景 │
|
||
├──────────────────┼──────────────────┼──────────────────────────────┤
|
||
│ HBuilderX 云打包 │ ⭐ 简单 │ 快速测试、日常开发、发布 │
|
||
│ 离线打包 │ ⭐⭐⭐⭐⭐ 复杂 │ 需要自定义原生功能、企业项目 │
|
||
└──────────────────┴──────────────────┴──────────────────────────────┘
|
||
|
||
|
||
┌─────────────────────────────────────────────────────────────────────────┐
|
||
│ 常见误区 │
|
||
└─────────────────────────────────────────────────────────────────────────┘
|
||
|
||
❌ 错误认知:
|
||
"npm run build:app 应该生成 APK"
|
||
|
||
✅ 正确理解:
|
||
"npm run build:app 只编译代码,不生成 APK"
|
||
"需要额外的打包步骤才能生成安装包"
|
||
|
||
|
||
┌─────────────────────────────────────────────────────────────────────────┐
|
||
│ 推荐流程(最快) │
|
||
└─────────────────────────────────────────────────────────────────────────┘
|
||
|
||
第 1 步:下载 HBuilderX (5 分钟)
|
||
│
|
||
▼
|
||
第 2 步:打开项目 (1 分钟)
|
||
│
|
||
▼
|
||
第 3 步:云端打包 (1 分钟操作)
|
||
│
|
||
▼
|
||
第 4 步:等待打包 (5-10 分钟)
|
||
│
|
||
▼
|
||
第 5 步:下载 APK (1 分钟)
|
||
│
|
||
▼
|
||
✅ 完成!获得可安装的 APK
|
||
|
||
总耗时:约 15-20 分钟
|
||
|
||
|
||
┌─────────────────────────────────────────────────────────────────────────┐
|
||
│ 其他平台打包 │
|
||
└─────────────────────────────────────────────────────────────────────────┘
|
||
|
||
H5 平台(Web):
|
||
npm run build:h5
|
||
│
|
||
▼
|
||
unpackage/dist/build/h5/
|
||
│
|
||
▼
|
||
上传到 Web 服务器
|
||
│
|
||
▼
|
||
✅ 完成!可通过浏览器访问
|
||
|
||
|
||
微信小程序:
|
||
npm run build:mp-weixin
|
||
│
|
||
▼
|
||
unpackage/dist/build/mp-weixin/
|
||
│
|
||
▼
|
||
微信开发者工具导入
|
||
│
|
||
▼
|
||
上传代码
|
||
│
|
||
▼
|
||
✅ 完成!提交审核
|
||
|
||
|
||
╔═══════════════════════════════════════════════════════════════════════╗
|
||
║ 总结 ║
|
||
╚═══════════════════════════════════════════════════════════════════════╝
|
||
|
||
1. npm run build:app 只是第一步(编译)
|
||
2. 必须使用 HBuilderX 或离线 SDK 才能生成 APK
|
||
3. 推荐使用 HBuilderX 云打包,最简单快速
|
||
4. 这是 uni-app 的正常工作方式,不是 bug
|
||
|
||
╔═══════════════════════════════════════════════════════════════════════╗
|
||
║ 需要帮助? ║
|
||
╚═══════════════════════════════════════════════════════════════════════╝
|
||
|
||
📖 查看详细文档:
|
||
- README_BUILD.md(推荐)
|
||
- BUILD_GUIDE.md
|
||
|
||
🚀 运行辅助脚本:
|
||
npm run build:app-help
|
||
|
||
🌐 访问官方文档:
|
||
https://uniapp.dcloud.net.cn/
|
||
|