前言
最新新项目领导要求使用热更新,rn的官网文档上看到推荐使用pushy,就自己研究了一下
提示:以下是本篇文章正文内容,下面案例可供参考
一、准备工作
首先你需要一个 React Native 的应用,如果还没有搭建react-native开发环境 / 没有创建react-native的应用,可能下面文章能帮到你
二、使用步骤
1.安装
1.1 引入
在你的项目根目录下运行以下命令:
// 全局安装命令行工具,每台电脑只用装一次
npm i -g react-native-update-cli
// 在项目中安装热更新模块
npm i react-native-update
如果此时下载极慢或者显示网络失败,请设置使用淘宝镜像
npx nrm use taobao
如果你的RN版本 >= 0.60,请在iOS目录下执行:
pod install
如果你的RN版本 < 0.60,那么还需要手动link
注意:如果是混编RN项目,由于目前官方集成文档并不完善,参照官方文档可能无法实现自动link功能。此时即便RN版本 >= 0.60,你可能也需要执行手动link操作。(惨痛教训,自己在这里卡了很久,自己当时没有仔细的看官方文档)
1.2 手动link
1.3 配置Bundle URL
注意此步骤无论任何版本,目前都需要手动配置。
android参阅.
android会在生成apk时自动对png图片进行压缩,此操作既耗时又影响增量补丁的生成。为了保证补丁能正常生成,您需要在android/app/build.gradle中关闭此操作:
...
android {
...
signingConfigs { ... }
buildTypes {
release {
...
// 添加下面这行以禁用crunch
crunchPngs false
}
}
}
...
2.登录创建应用
首先请在pushy官方网站注册帐号(此时可以在网页端登录且创建应用),然后在你的项目根目录下运行以下命令:
pushy login
email: <输入你的注册邮箱>
password: <输入你的密码>
这会在项目文件夹下创建一个.update文件,注意不要把这个文件上传到Git等CVS系统上。你可以在.gitignore末尾增加一行.update来忽略这个文件。
登录之后可以创建应用。
注意iOS平台和安卓平台需要分别创建:
pushy createApp --platform ios
App Name: <输入应用名字>
pushy createApp --platform android
App Name: <输入应用名字>
如果你已经在网页端或者其它地方创建过应用,也可以直接选择应用:
pushy selectApp --platform android/ios
┌────────┬──────────┬──────────┐
│ App Id │ App Name │ Platform │
├────────┼──────────┼──────────┤
│ 应用id │ 应用名称 │ android │
└────────┴──────────┴──────────┘
Total 1 android apps
Enter appId: <输入应用前面的编号>
选择或者创建过应用后,你将可以在根目录下看到update.json文件,其内容类似如下形式:
{
"ios": {
"appId": 1,
"appKey": "<一串随机字符串>"
},
"android": {
"appId": 2,
"appKey": "<一串随机字符串>"
}
}
你可以安全的把update.json上传到Git等CVS系统上,与你的团队共享这个文件,它不包含任何敏感信息。当然,他们在使用任何功能之前,都必须首先输入pushy login进行登录。
至此应用的创建/选择就已经成功了。
下一步,你需要给代码添加相应的功能,请参阅代码集成。