uni-app 原生 App 打包全攻略:Android/iOS 从配置到发布完整流程

内容分享2周前发布
0 0 0

在 uni-app 开发完成后,原生 App 打包是落地上线的关键环节。本文将从环境准备、配置优化、证书生成、云端 / 本地打包、测试发布等核心步骤,详细拆解 Android 和 iOS 平台的打包流程,同时分享避坑技巧,帮助开发者高效完成 App 打包上线。

一、前置准备:环境与配置检查

1. 开发环境要求

核心依赖:安装 Node.js(建议 14 + 版本,兼容更多 uni-app 插件和打包工具,下载地址:Node.js 官网)开发 IDE:HBuilderX(最新稳定版,内置打包工具链,下载地址:HBuilderX 官网)可选工具(本地打包用):Android Studio(Android 本地编译)、Xcode(iOS 本地编译,需 Mac 环境)

2. manifest.json 基础配置(必做)

manifest.json 是 uni-app 的核心配置文件,直接影响打包成功率,需优先完成以下配置:

打开 HBuilderX 项目,双击根目录的
manifest.json
文件,切换到「可视化配置」面板基础信息配置:
应用名称:需与上架平台(应用商店)名称一致AppID:使用 DCloud 官网申请的合法 AppID(避免使用测试 ID,否则无法正常打包)版本号 / 版本名称:遵循语义化版本(如 1.0.0),需与后续应用商店提交信息一致 模块权限配置:
切换到「App 模块配置」,勾选项目所需功能(如相机、地理位置、蓝牙、支付、推送等)注意:无需的模块建议取消勾选,减少包体积和权限申请风险uni-app 原生 App 打包全攻略:Android/iOS 从配置到发布完整流程

二、关键步骤:生成发行证书

证书是 App 签名和上架的核心凭证,Android 和 iOS 平台流程不同,需单独处理。

1. Android 平台:生成 keystore 证书

(1)前提条件

安装 Java 开发工具(JDK),并配置环境变量(确保
keytool
命令可在终端执行)。

(2)生成命令

打开终端(Windows cmd/PowerShell、Mac/Linux 终端),执行以下命令(替换占位符为自定义信息):

bash

运行


keytool -genkey -alias 自定义别名(如myapp) -keyalg RSA -keysize 2048 -validity 36500 -keystore 证书文件名.keystore(如myapp.keystore)

参数说明:

alias
:证书别名(后续打包需填写,建议牢记)
keyalg
:加密算法(固定为 RSA)
keysize
:密钥长度(2048 位及以上,安全性更高)
validity
:证书有效期(36500=100 年,避免频繁更换)
keystore
:输出证书文件名及路径(默认在当前目录)

(3)后续操作

执行命令后,按提示输入证书密码、组织名称、国家 / 地区等信息(建议统一记录,避免遗忘)。生成成功后,会在指定目录得到
.keystore
文件,务必妥善保管(丢失后无法找回,影响后续版本更新)。

uni-app 原生 App 打包全攻略:Android/iOS 从配置到发布完整流程

2. iOS 平台:生成.p12 证书与描述文件

(1)前提条件

拥有 Apple 开发者账号(个人 / 企业版,年费 99 美元 / 299 美元,需提前注册)操作环境:Mac OS(生成描述文件和打包需依赖 Mac)

(2)详细流程
步骤 1:创建 App ID

登录 Apple 开发者中心(developer.apple.com)进入「Certificates, Identifiers & Profiles」→「Identifiers」→「+」选择「App IDs」,填写 App 名称、Bundle ID(需与 manifest.json 中一致,格式如
com.company.appname
,全局唯一)勾选 App 所需服务(如推送、支付等),完成创建

步骤 2:生成 Distribution 证书

进入「Certificates」→「+」,选择「iOS Distribution (App Store and Ad Hoc)」按提示生成 CSR 文件(Certificate Signing Request):打开 Mac 的「钥匙串访问」→「证书助理」→「从证书颁发机构请求证书」,填写邮箱和保存路径上传 CSR 文件到开发者中心,下载生成的
.cer
证书双击
.cer
证书导入钥匙串,右键导出为「.p12」格式(设置证书密码,后续打包需填写)

步骤 3:生成 Provisioning Profile(描述文件)

进入「Profiles」→「+」,选择分发类型(App Store/Ad Hoc,根据打包用途选择)关联已创建的 App ID、Distribution 证书,选择需要测试的设备(Ad Hoc 模式需添加设备 UDID)下载描述文件(
.mobileprovision
格式),保存到本地备用

(3)注意事项

Bundle ID 必须与 manifest.json、证书、描述文件完全一致,否则打包失败描述文件需与证书对应(Distribution 证书对应分发描述文件,Development 对应开发描述文件)
.p12
证书和描述文件需妥善保管,避免泄露

三、打包实操:云端打包(推荐)

uni-app 推荐使用「云端打包」,无需配置复杂的本地编译环境,操作简单且稳定,适合大部分开发者。

1. 通用打包入口

打开 HBuilderX → 选中项目 → 顶部菜单栏「发行」→「原生 App – 云打包」,进入打包配置页面。

2. Android 平台打包

(1)配置项说明

平台选择:勾选「Android」证书配置:
选择「使用本地证书」,上传之前生成的
.keystore
文件填写证书别名、证书密码、密钥密码(与生成证书时一致)若暂未生成证书,可勾选「使用云端证书」(仅用于测试,不可上架应用商店) 打包设置:
包名:与 manifest.json 中一致(如
com.company.appname
)打包模式:测试版(用于内测,无签名限制)/ 正式版(用于上架,需合法证书)输出格式:APK(通用格式,支持大部分 Android 设备)/ AAB(Google Play 推荐格式,包体积更小) 其他配置:按需勾选「混淆代码」「压缩资源」(减少包体积),避免勾选无关权限

(2)执行打包

点击「打包」,等待云端编译(耗时约 3-10 分钟,取决于项目大小)。打包成功后,会生成下载链接,点击即可获取 APK/AAB 文件。

uni-app 原生 App 打包全攻略:Android/iOS 从配置到发布完整流程

3. iOS 平台打包

(1)配置项说明

平台选择:勾选「iOS」证书配置:
上传
.p12
证书文件和对应的
.mobileprovision
描述文件填写证书密码(导出.p12 时设置的密码) 打包设置:
包名:与 App ID、描述文件一致分发渠道:App Store(用于上架)/ Ad Hoc(用于内测,需绑定设备 UDID) 其他配置:勾选「支持 IPv6」(Apple 审核强制要求),按需设置屏幕方向、权限描述

(2)执行打包

点击「打包」,等待云端编译完成后,下载生成的 IPA 文件(用于测试或上架)。

uni-app 原生 App 打包全攻略:Android/iOS 从配置到发布完整流程

四、可选方案:本地打包(适合复杂场景)

若项目需集成自定义原生插件、修改原生代码,可选择本地打包,需手动配置编译环境。

1. Android 本地打包

在 HBuilderX 中执行「发行」→「原生 App – 本地打包」→「生成本地打包 App 资源」,生成
unpackage
目录下载 Android Studio 并安装,导入 uni-app 提供的 Android 原生模板项目(可从 DCloud 官网下载)将
unpackage
目录下的资源复制到原生模板项目的对应目录在 Android Studio 中配置 keystore 证书(Build → Generate Signed Bundle/APK)编译生成 APK/AAB 文件

2. iOS 本地打包

同样生成本地打包资源(步骤同上)下载 Xcode 并安装,导入 uni-app 提供的 iOS 原生模板项目配置项目信息:Bundle ID、证书、描述文件(在 Xcode 的「Signing & Capabilities」中设置)将本地打包资源导入项目,通过 Xcode「Archive」归档,导出 IPA 文件

五、测试与发布:从内测到上架

1. 内测阶段

(1)Android 内测

方式 1:通过 adb 命令安装 APK 到手机(
adb install 应用包名.apk
)方式 2:上传至内测平台(如 Firebase App Distribution、TestFairy、蒲公英),生成分享链接供测试人员下载

(2)iOS 内测

方式 1:TestFlight(Apple 官方内测工具):将 IPA 上传至 App Store Connect,邀请测试人员通过 TestFlight 安装方式 2:Ad Hoc 分发:通过描述文件绑定设备 UDID,直接安装 IPA(最多支持 100 台设备)方式 3:企业证书分发(仅企业账号):生成企业签名的 IPA,通过网页链接下载(无需绑定 UDID)

2. 正式发布

(1)Android 上架

主要渠道:Google Play、华为应用市场、小米应用商店、应用宝等准备材料:应用安装包(APK/AAB)、应用截图、应用描述、隐私政策链接、开发者资质证明注意:Google Play 要求使用 AAB 格式,且需完成应用内容分级、数据安全声明

(2)iOS 上架

上架平台:App Store Connect(appstoreconnect.apple.com)操作步骤:
上传 IPA 文件(通过 Xcode Archive 或 Transporter 工具)填写应用信息(名称、描述、截图、关键词、价格等)提交审核(审核周期约 1-3 个工作日) 注意:需提前准备隐私政策链接(必须可访问),遵循 Apple 审核指南(如无敏感权限、无违规内容、支持 IPv6 等)

六、避坑指南:常见问题与解决方案

打包失败提示「证书不匹配」:

检查包名(Bundle ID)与证书、描述文件一致确认 Android 证书别名、密码正确,iOS 描述文件与证书关联正常

iOS 审核被拒「缺少隐私权限说明」:

在 manifest.json 的「iOS 权限配置」中,为每个申请的权限添加明确的使用说明(如 “需要相机权限用于扫描二维码”)

包体积过大:

取消 manifest.json 中无关的模块权限压缩图片、视频等资源,删除项目中未使用的插件和代码Android 选择 AAB 格式,iOS 开启 Bitcode 优化

云打包次数不足:

免费用户每日有固定打包次数,超出可升级 DCloud 会员或使用本地打包

总结

uni-app 原生 App 打包的核心是「配置正确 + 证书合法 + 流程规范」。云端打包适合快速迭代和大部分场景,本地打包适合自定义原生功能的复杂项目。只要严格遵循上述步骤,注意证书保管、包名一致性和平台审核规则,就能高效完成 App 打包与上架。

如果在打包过程中遇到具体问题,可参考 DCloud 官方文档(uni-app 打包文档)或在社区提问,获取针对性解决方案。

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
none
暂无评论...