多端前端App 端
打包发布
App 打包分两步:先构建 Web 资源,再打原生安装包。前者用 npm 脚本,后者用 HBuilderX 或原生工程。
1. 构建资源
npm run build:app产物在 dist/build/app/。这个目录是 uni-app 的 Web 资源,本身不是 apk / ipa,需要交给 HBuilderX 做原生打包。
2. 打原生包
方式 A:HBuilderX 云打包(推荐)
- HBuilderX 打开
ruoyi-uniapp/; - 「发行 → 原生 App-云打包」;
- 选择 Android / iOS,填证书、包名、版本;
- 等待云端返回安装包。
需要准备:
| 平台 | 材料 |
|---|---|
| Android | 签名证书(.keystore)、别名、密码、包名 |
| iOS | 开发 / 发布证书、Provisioning Profile、Bundle ID |
方式 B:本地打包
使用 HBuilderX 生成的离线 SDK,把 dist/build/app/ 资源放进原生工程,再用 Android Studio / Xcode 编译。适合需要接入原生 SDK、或不能上云的场景。
3. 版本与权限
versionName:展示给用户,例如1.0.0;versionCode:整数,每次发版 +1;- Android 权限:只声明实际用到的,过度申请会被商店拒审;
- iOS 隐私描述:相机、相册、定位等必须在
Info.plist写清用途。
4. 发版检查清单
-
src/config.js的baseUrl指向生产环境 -
appEncrypt与后端一致 -
versionCode已递增 - 应用图标、启动图、应用名称已替换
- Android 签名证书与上次发版一致(不一致无法覆盖安装)
- iOS 证书与 Bundle ID 正确
- 隐私政策、用户协议链接可访问
- 真机回归:登录、支付、上传、推送
- 应用商店截图与描述已更新

HBuilderX 云打包界面(截图占位)
/images/docs/app-build.png建议 1440 × 900,截打包配置与证书选择。
常见问题
| 现象 | 原因 |
|---|---|
| 安装包无法覆盖安装 | 签名证书变了,或 versionCode 没递增 |
| 打开白屏 | 资源没打进包、baseUrl 不可达、路由模式不匹配 |
| 支付调不起 | 各端支付参数 / 回调地址 / 应用签名不一致 |
| 推送收不到 | 厂商通道未配置、证书 / AppID 不匹配 |
| iOS 审核被拒 | 权限描述缺失、隐私政策缺失、使用了被禁 API |