React-Native Android集成Code-Push 热更新
开篇题外话,作为Android原生,对React-Native的态度不算太友好,做出来的应用有些性能是真的卡….卡….卡,所以有的人说只会JS就可以做移动端个人是不敢苟同,在性能爆炸的地方还是得原生来做,进行混合开发。 OK,我们看看React-Native的好处:
1、缩短开发周期,一套JS代码完成逻辑
2、热更新部署,适合电商类活动
一般的APK,打包一次,遇到更新就要到Appstore或者各大应用商店更新。对于初创团队,自身没有时间自行研发热更新的情况大多采用第三方的热更新,微软的Code-Push很好的为我们提供了支持。
下面我们看看如何集成Code-Push.
Code-Push主要特点
支持JS代码与图片资源更新
只能全量更新,暂时不支持增量更新
支持dev, Production, Staging三个环境
安装 CodePush CLI
在终端输入:npm install -g code-push-cli
PS.
npm为NodeJS的包管理器,如果没安装NodeJS请先安装。
若提示权限不够如下图:
加上sudo即可:
sudo npm install -g code-push-cli
安装完毕以后提示输入:code-push -v
确认是否安装成功
创建Code-Push账号
在终端输入:code-push register,会打开注册页面让你选择授权账号。
完成相应注册后将会获得一个key,复制到终端即可登录(code-push login)。
PS.
code-push logout后再code-push login 也会跳转到网页获得一个key,复制后到终端即可登录成功。
账号相关命令:
code-push login 登陆
code-push logout 注销
code-push access-key ls 列出登陆的token
code-push access-key rm <accessKye> 删除某个 access-key
CodePush服务器注册app
在终端输入:code-push app add appName PS.相关命令 code-push app add 在账号里面添加一个新的app code-push app remove 或者 rm 在账号里移除一个app code-push app rename 重命名一个存在app code-push app list 或则 ls 列出账号下面的所有app code-push app transfer 把app的所有权转移到另外一个账号
集成CodePush SDK
Android:
参考地址
Andorid有 RNPM和Manual两种更继承方式。这里采用
Manual方式。
1、在 主项目/android/settings.gradle文件下添加如下内容:
include ':react-native-code-push'
project(':react-native-code-push').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-code-push/android/app')
2、在主项目/android/app/build.gradle
文件下添加如下依赖:
...
dependencies {
...
compile project(':react-nat