oemcli
v1.2.0
Published
ZL UNi-APP OEM 自动化打包工具
Readme
OEM 构建工具
OEM 构建工具,用于快速构建OEM应用;
需求场景
- vscode 开发时,可直接通过命令行运行打包;
- 打包不同 oem 时需要频繁重复操作及修改配置,如:修改图标、启动图、配置文件等,通过此工具可快速完成打包操作;
- 打包时,可自动下载打包后的文件,方便测试及分发;
功能
- 环境检查
- 资源移动
- 生成配置
- 版本号确认
- 打包执行
- 自动下载
环境准备
- Node.js: 需安装 v14+
- 如何配置HBuilderX cli:https://hx.dcloud.net.cn/cli/README
安装
npm install -g oemcli构建打包
流程:1. 环境检查 → 2. 资源移动 → 3. 生成配置 → 4. 版本号确认 → 5. 打包执行 → 6. 自动下载
# 打包对应的OEM 应用
oem build [appname] -p <platform> -e <env>
# 默认值
Options:
-p, --platform <platform> 指定平台, 默认值android, 可选值ios,android
-e, --env <env> 指定环境, 默认值test,可选值test,pro
-h, --help 显示命令帮助
# 示例
oem build # 打包银响力应用测试包初始化配置(初次需配置)
# 用于配置不同环境下,对应的 hbuilder cli 及 oem 资源路径
oem init - 执行后会在当前目录生成 build.config.json 文件,模板文件需手动配置以下字段:
{
// hbuilder cli 环境变量 或 hbuilderX安装所在目录下的hbuilderX cli (ps: 最好使用环境变量)
"hbuilderCliPath": "cli",
// OEM打包资源所在的根目录
"oemSourcePath":"",
// 打包版本分支(用于打包重命名时使用)
"branchCode": "20250430",
// 打包输出目录
"outputPath": "./dist"
}- 进行登录设置(init时会自动执行)
# 设置HBuilder登录信息,打包时登录校验
oem login [ 已弃用 ] 创建项目中的OEM配置(打包时未找到OEM配置时可以使用)(弃用,待项目迁移,迁移后直接读取项目中配置)
# 创建一个新的oem配置项,如果项目中src/static/others/oem_custom.json 没有该oem 配置项,会帮助创建,有将立即结束
oem create
# 交互式输入以下信息:
# 应用名称 (appName)
# Logo名称 (logo)
# 登录页Logo名称 (loginLogo)
# 服务商编号 (oemcode)
# 支付协议 payAgreement
# 升级编码 upgradeOEM资源配置文件位置
打包配置:<oemSourcePath>/<appname>/config.jsonOEM资源配置文件命名规范
Android/iOS 图标
1024x1024 对应项目OEM配置<appname>.logo 字段
登录页图标 对应项目OEM配置<appname>.loginLogo 字段Android启动图片
480x762 hdpi高分屏启动图:<appname>/a480.9.png
720x1242 xhdpi 720p高分屏启动图:<appname>/a720.9.png
1080x1822 xxhdpi 1080p超高分屏启动图:/a1080.9.pngiOS 启动图片
自定义storyboard启动图:<appname>/ios.zipiOS 证书 # 固定值test(测试环境)或pro(生产环境)
certfile文件: <appname>/<env>/<env>_certfile.p12
profile文件: <appname>/<env>/<env>_profile.mobileprovision
config 配置 [只需要配置需要覆盖的内容]
{
"appid": "", // 应用ID
"platform": "android", // 打包平台
"android": { // Android配置
"packagename": "uni.", // 包名
"androidpacktype": "0", // 安卓包类型
"certalias": "", // 证书别名
"certfile": "../.jks", // 证书文件路径
"certpassword": "", // 证书密码
"storePassword": "" // 存储密码
},
"ios": { // iOS配置
"bundle": "com.", // 包名
"supporteddevice": "iPhone", // 支持的设备
"profile": "./.mobileprovision", // 配置文件路径
"certfile": "./.p12", // 证书文件路径
"test_certpassword": "", // 测试证书密码
"pro_certpassword": "" // 生产证书密码
},
"userAgreement": "", // 用户协议
"privacyAgreement": "", // 隐私协议
"android_amap_appkey": "", // Android高德地图AppKey
"ios_amap_appkey": "", // iOS高德地图AppKey
"阿里云移动推送Android AppKey": "", // 阿里云移动推送Android AppKey
"阿里云移动推送Android AppSecret": "", // 阿里云移动推送Android AppSecret
"阿里云移动推送iOS AppKey": "", // 阿里云移动推送iOS AppKey
"阿里云移动推送iOS AppSecret": "", // 阿里云移动推送iOS AppSecret
"Netease-QiyuModule_appKey": "" // 网易七鱼模块AppKey
}