云打包优先,安卓点几下出APK,iOS需苹果账号+Mac证书+Bundle ID严格匹配;manifest.json中name、appid、id三字段填错将导致失败或白屏。

uni-app 打包成 App,优先走云打包;安卓基本点几下就能出 APK,iOS 必须有苹果开发者账号 + Mac 生成证书 + 正确配置 Bundle ID,缺一不可。
云打包前必须确认 manifest.json 里的关键字段
云打包不读代码,只读 manifest.json。这个文件里三个字段填错,打包直接失败或安装后白屏:
-
name:App 显示名称,支持中文,但不要含特殊符号(如 /、\、:) -
appid:必须是 DCloud 后台创建应用时分配的唯一 ID,不是你自己随便写的;HBuilderX 新建项目时会自动生成,别手动改 -
id(即 Bundle ID / AppID):iOS 打包第一道关卡,格式必须是反向域名(如com.example.myapp),且要和苹果开发者后台注册的 App ID 完全一致;安卓可填默认值,但建议统一风格
图标、启动图、版本号也都在这个文件里配,改完记得保存,HBuilderX 不自动刷新配置缓存。
安卓云打包:登录 → 选平台 → 上传签名证书(可选)→ 等待下载
安卓云打包最简路径是免证书打包,生成的是未签名 APK,能安装到测试机,但无法上架应用市场:
- 在 HBuilderX 中右键项目 → “发行 → 原生 App-云打包” → 选择 Android 平台
- 若没登录,会跳转 dcloud.net.cn,用手机号注册/登录即可
- “签名证书”栏可留空:此时打包结果是
unsigned.apk,用 USB 连接安卓手机,直接点击安装(需开启“未知来源”) - 若要上架,需提前准备 keystore 文件,在云打包页面上传,并填写
alias、password、keystore password—— 这三项必须和你生成 keystore 时完全一致,错一个就签名失败
注意:unsigned.apk 不能用 adb install 直接装到 Android 11+ 设备(系统拦截),得用 HBuilderX 的“运行到手机”功能或通过浏览器下载安装。
iOS 云打包失败最常见的 3 个原因
iOS 云打包不是点一下就完事,它依赖你本地和苹果后台的双向配置,90% 的失败都卡在这三处:
- 没在苹果开发者后台注册对应
id的 App ID:Bundle ID 必须一字不差,且状态为 “Enabled”;勾选的 Capabilities(如 Push、Associated Domains)也要和 uni-app 实际调用的功能匹配 - 证书类型不对:云打包要求的是 Distribution Certificate(发布证书),不是 Development Certificate;而且必须用 Mac 钥匙串导出为
.p12文件,并设置密码(云打包页面要填) - 描述文件(Provisioning Profile)没选对:必须选 App Store 或 Ad Hoc 类型,不能选 iOS Team Provisioning Profile(那是开发调试用的);且该描述文件绑定的 App ID 和设备列表必须包含你当前打包的目标
Mac 上生成证书请求(.certSigningRequest)后,苹果后台下发的是 .cer 文件,要双击导入钥匙串,再右键导出为带私钥的 .p12 —— 很多人漏了这步,只传了 .cer,云打包必然报 “Invalid certificate”。
云打包产物怎么装到真机(尤其 iOS)
云打包完成后,你会拿到一个 .ipa(iOS)或 .apk(安卓)文件,但它们不是“下载即装”:
- 安卓 APK:浏览器下载后点击安装,或用
adb install -r xxx.apk(Android 10 及以下);Android 11+ 推荐用 HBuilderX 的“运行到手机”通道,兼容性更好 - iOS IPA:不能直接点击安装;必须用 Apple Configurator 2(Mac)、或者第三方工具如 AltServer + TetherMe(需越狱或企业证书),普通用户最稳方式是走 TestFlight:把 IPA 上传到 App Store Connect,添加测试员邮箱,等审核通过(通常几分钟)后,测试员收到邮件,点链接进 TestFlight 安装
别试图用 iTunes 或 Finder 拖 IPA 到 iPhone —— macOS Ventura 之后已移除该功能;也别信“在线 IPA 安装网站”,绝大多数不可靠且可能被苹果封禁。











