通过 CLI 对 uni-app x 项目进行 Android/iOS 云打包。云打包由 DCloud 云端完成,无需本地原生开发环境。
适用平台:
app-android/app-ios。平台对照见 CLI 概述。 云打包需要联网并登录 DCloud 账号;免费额度与收费规则以 DCloud 官方说明为准。
cli pack --help
| 参数 | 说明 |
|---|---|
--help | 查看打包命令帮助 |
--project | 必填,项目绝对路径 |
--platform | 打包平台,默认 android,可选 android、ios;多个平台用英文逗号分隔 |
--config | 配置文件的绝对路径,字段与命令行参数一致,详见 配置文件格式 |
--iscustom | 是否使用自定义基座,仅值为 true 时启用 |
--sourceMap | 是否生成 SourceMap,默认 false |
--splashads | 是否启用开屏广告,仅值为 true 时启用 |
--unimpads | 是否启用激励视频广告,仅值为 true 时启用 |
--ad.domestic | 集成国内广告 SDK,多个 SDK 用英文逗号分隔 |
--ad.international | 集成海外广告 SDK,多个 SDK 用英文逗号分隔 |
--ad.content | 集成三方内容场景变现 SDK,多个 SDK 用英文逗号分隔 |
--ignoreWarnings | 打包遇到 warning 时仅输出提示、不中断流程 |
--async | 异步打包(提交后立即返回),配合 pack status 查询 |
--precheck / --skipPrecheck | 打包前预校验 / 跳过预校验 |
--json | 以 JSON 输出结果,便于脚本解析 |
| 参数 | 说明 |
|---|---|
--android.packagename | Android 包名,打包 Android 时必填 |
--android.androidpacktype | 证书类型,0 使用自有证书,1 使用公共证书 |
--android.channels | 渠道包,可选 google、yyb、360、huawei、xiaomi、oppo、vivo,多个用英文逗号分隔 |
--android.aabchannels | AAB 渠道包 |
--android.certalias / --android.certfile / --android.certpassword / --android.storepassword | 使用自有证书时的别名、证书文件、证书密码与证书库密码 |
| 参数 | 说明 |
|---|---|
--ios.bundle | iOS App ID(Bundle ID),打包 iOS 时必填 |
--ios.supporteddevice | 支持的设备类型,默认 iPhone,可选 iPhone、iPad,多个用英文逗号分隔 |
--ios.channels | iOS 渠道包,可选 phone、simulator(仅 macOS 生效) |
--ios.profile / --ios.certfile / --ios.certpassword | 自定义证书打包使用的 profile、p12 文件与证书密码 |
demo-app可为项目目录名,也可换为项目绝对路径。
# 使用公共证书打包 Android
cli pack --project demo-app --platform android --android.packagename com.example.app --android.androidpacktype 1
# 使用自有证书打包 Android
cli pack --project demo-app --platform android --android.packagename com.example.app --android.androidpacktype 0 \
--android.certalias myalias --android.certfile /path/to/cert.keystore --android.certpassword 123456 --android.storepassword 123456
# 多渠道包
cli pack --project demo-app --platform android --android.packagename com.example.app --android.androidpacktype 1 \
--android.channels google,huawei,xiaomi,oppo,vivo
# 打包 iOS(自定义证书)
cli pack --project demo-app --platform ios --ios.bundle com.example.app --ios.supporteddevice iPhone,iPad \
--ios.profile /path/to/profile.mobileprovision --ios.certfile /path/to/cert.p12 --ios.certpassword 123456
查询 App 云打包状态。
cli pack status --project demo-app
| 参数 | 说明 |
|---|---|
--help | 查看命令帮助 |
--project | 项目绝对路径 |
--project支持目录名或绝对路径,查询前请先执行cli open。
取消 App 云打包任务。
cli pack cancel --project demo-app --platform app-android
| 参数 | 说明 |
|---|---|
--help | 查看命令帮助 |
--project | 项目绝对路径 |
--platform | 要取消打包的平台,可选 app-ios、app-android,一次仅支持一个平台 |
查看 App 云打包的控制台输出日志,通常与 pack、pack status 配合使用。
cli logcat pack
查看前请先执行
cli open。
配置文件格式为 JSON,编码为 UTF-8,字段说明见上文参数。使用 --config 时,所有参数写在 JSON 中,不要与 --project、--platform 等命令行参数混用。
{
"project": "test-pack",
"platform": "ios,android",
"iscustom": false,
"sourceMap": false,
"splashads": false,
"unimpads": false,
"ad": {
"domestic": "",
"international": "",
"content": ""
},
"ignoreWarnings": false,
"android": {
"packagename": "com.test.android",
"androidpacktype": "1",
"certalias": "",
"certfile": "",
"certpassword": "",
"storePassword": "",
"channels": ""
},
"ios": {
"bundle": "com.test.ios",
"supporteddevice": "iPhone,iPad",
"channels": "",
"profile": "",
"certfile": "",
"certpassword": ""
}
}
cli pack --config ./configure.json