安装
$ npm install -g react-native-update-cli
命令
pushy bundle
生成热更资源包。会自动探测项目中是否使用了 expo、taro 等框架并自动调用对应的命令行打包。如果探测不准确或使用对应命令行打包时报错,可尝试使用 --rncli
参数来指定官方命令行打包。
- platform: ios|android|harmony 对应的平台
- entryFile: 入口脚本文件
- intermediaDir: 临时文件输出目录
- output: 最终 ppk 文件输出路径
- dev: 是否打包开发版本
- sourcemap: 是否生成 sourcemap(需 cli 版本 1.11.0+)
- no-interactive: 不进行交互式提示
- rncli: 指定使用官方命令行打包 (需 cli 版本 1.40.0+)
- expo: 指定使用 expo 的命令行打包 (需 cli 版本 1.40.0+)
- taro: 指定使用 taro 的命令行打包 (需 cli 版本 1.40.0+)
从 v1.44.2 版本开始,新增了以下直接上传发布的参数(等同于打包完成后连续调用 pushy publish
命令):
- name: 指定热更新版本的名字(版本号)
- description: 指定热更新版本的描述信息,可以对用户进行展示
- metaInfo: 指定热更新版本的元信息,可以用来保存一些额外信息,具体用法可参考场景实践。
pushy parseIpa [ipaFile]
解析 ipa 文件并输出一些相关信息,如版本号,编译时间戳等。
pushy parseApk [apkFile]
解析 apk 文件并输出一些相关信息,如版本号,编译时间戳等。
pushy parseApp [appFile]
解析 app 文件并输出一些相关信息,如版本号,编译时间戳等。
pushy diff [origin][next]
提供两个 ppk 文件,生成从 origin 到 next 版本的差异更新包。
- output: diff 文件输出路径
pushy diffFromApk [apkFile][next]
提供一个 apk 文件和一个 ppk 文件,生成从 apk 文件到 next 版本的差异更新包。
如果使用热更新开放平台,你不需要自己执行此命令。
- output: diff 文件输出路径
pushy diffFromApp [appFile][next]
提供一个 app 文件和一个 ppk 文件,生成从 app 文件到 next 版本的差异更新包。
如果使用热更新开放平台,你不需要自己执行此命令。
- output: diff 文件输出路径
pushy diffFromIpa [ipaFile][next]
提供一个 ipa 文件和一个 ppk 文件,生成从 ipa 文件到 next 版本的差异更新包。
如果使用热更新开放平台,你不需要自己执行此命令。
- output: diff 文件输出路径
pushy login [email][pwd]
登录热更新开放平台。你需要先登录才能使用下面的命令。
pushy logout
登出并清除本地的登录信息
pushy me
查看自己是否已经登录,以及昵称等信息。
pushy createApp
创建应用并立刻绑定到当前工程。这项操作也可以在网页管理端进行。
- platform: ios|android|harmony 对应的平台
- name: 应用名称
- downloadUrl: 应用安装包的下载地址
pushy deleteApp [appId]
删除已有应用。所有已创建的应用包、热更新版本都会被同时删除。这项操作也可以在网页管理端进行。
- platform: ios|android|harmony 对应的平台
pushy apps
查看当前已创建的全部应用。这项操作也可以在网页管理端进行。
- platform: ios|android|harmony 对应的平台
pushy selectApp [appId]
绑定应用到当前工程。
- platform: ios|android|harmony 对应的平台
pushy uploadIpa [ipaFile]
上传 ipa 文件到开放平台。
- note: 备注(cli 需 1.24.0 +)
pushy uploadApk [apkFile]
上传 apk 文件到开放平台。
- note: 备注(cli 需 1.24.0 +)
pushy uploadApp [appFile]
上传 app 文件到开放平台。
- note: 备注(cli 需 1.24.0 +)
pushy packages
查看已经上传的原生包。这项操作也可以在网页管理端进行。
- platform: ios|android|harmony 对应的平台
pushy publish [ppkFile]
发布新的热更新版本(ppk 文件)。
- platform: ios|android|harmony 对应的平台
- name: 当前热更新版本的名字(版本号)
- description: 当前热更新版本的描述信息,可以对用户进行展示
- metaInfo: 当前热更新版本的元信息,可以用来保存一些额外信息,具体用法可参考场景实践。
pushy versions
分页列举可用的版本。这项操作也可以在网页管理端进行。
- platform: ios|android|harmony 对应的平台
pushy update
为一个原生包版本绑定一个热更新版本。这项操作也可以在网页管理端进行。以下参数中packageId
,packageVersion
,minPackageVersion
,maxPackageVersion
和packageVersionRange
中多选一即可。
- platform: ios|android|harmony 对应的平台
- versionId: 要绑定的热更新版本 ID
- rollout: 灰度发布范围(1-100),默认为 100 (需 cli 版本 1.31.0+)
- dryRun: 是否只进行预览,不进行实际绑定(需 cli 版本 1.45.4+)
- packageId: 要绑定的原生包 ID (多选一)
- packageVersion: 要绑定的原生包版本名(多选一,需 cli 版本 1.7.2+)
- minPackageVersion: 要绑定的最低原生包版本,大于等于此版本的将逐个绑定(多选一,需 cli 版本 1.27.0+)
- maxPackageVersion: 要绑定的最高原生包版本,小于等于此版本的将逐个绑定(多选一,需 cli 版本 1.27.0+)
- packageVersionRange: 要绑定的原生包版本范围(多选一,需 cli 版本 1.45.4+),范围格式遵循 semver 的语法,可参考 https://quickref.cnxiaobai.com/docs/semver.html (opens in a new tab) 或 https://devhints.io/semver (opens in a new tab)
示例:
❯ pushy update --versionId 211343 --platform android --packageVersionRange ">=1.0 <3.0" --dryRun
react-native-update-cli: 1.45.4 (最新:1.45.4)
react-native-update: 10.28.11 (最新:10.28.11)
以下是 dry-run 模拟运行结果,不会实际执行任何操作:
已将热更包 211343 绑定到原生版本 1.28.1 (id: 75219)
已将热更包 211343 绑定到原生版本 1.28 (id: 75184)
已将热更包 211343 绑定到原生版本 1.5 (id: 73396)
已将热更包 211343 绑定到原生版本 2.0 (id: 68219)
已将热更包 211343 绑定到原生版本 1.0 (id: 68158)
操作完成,共已绑定 5 个原生版本