2019独角兽企业重金招聘Python工程师标准>>>

Code Push

环境配置

  1. 安装react-native-code-push : $ npm install --save react-native-code-push
  2. 安装App Center CLI : $ npm install -g appcenter-cli

Android工程配置

CodePush 提供两种配置方式,一种为自动配置,一种为手动配置:

RNPM (自动配置)

$ react-native link react-native-code-push

需要在RN项目的根目录下,且Android原生项目也在此根目录下

手动配置

  1. android/settings.gradle文件中配置react-native-code-push工程
include ':app', ':react-native-code-push'
project(':react-native-code-push').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-code-push/android/app')
  1. android/app/build.gradle文件中添加:react-native-code-push工程依赖
...
dependencies {...compile project(':react-native-code-push')
}
  1. android/app/build.gradle文件中添加codepush.gradle插件
...
apply from: "../../node_modules/react-native/react.gradle"
apply from: "../../node_modules/react-native-code-push/android/codepush.gradle"
...
  1. 配置Application
...
// 1. Import the plugin class.
import com.microsoft.codepush.react.CodePush;public class MainApplication extends Application {private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {...// 2. Override the getJSBundleFile method in order to let// the CodePush runtime determine where to get the JS// bundle location from on each app start@Overrideprotected String getJSBundleFile() {return CodePush.getJSBundleFile();}@Overrideprotected List<ReactPackage> getPackages() {// 3. Instantiate an instance of the CodePush runtime and add it to the list of// existing packages, specifying the right deployment key. If you don't already// have it, you can run "appcenter codepush deployment list -a <ownerName>/<appName>" to retrieve your key.return Arrays.<ReactPackage>asList(new MainReactPackage(),new CodePush("deployment-key-here", MainApplication.this, BuildConfig.DEBUG));}};
}

Js配置

检查更新的代码需在js端配置

import CodePush from "react-native-code-push";class App extends Component {...
}App = CodePush({installMode: CodePush.InstallMode.ON_NEXT_SUSPEND, //app进入后台模式时更新checkFrequency: CodePush.CheckFrequency.ON_APP_RESUME //每次进入页面时检查是否有更新可用
})(App);export default App

详细可用配置参数可参考官方文档

发布bundle文件

  1. 登录AppCenter $ appcenter login
  2. 创建app(可直接在web端操作)$ appcenter apps create -d <appDisplayName> -o <operatingSystem> -p <platform>
  3. 发布
//开发模式
appcenter codepush deployment add -a <ownerName>/<appName> Staging
//生产模式
appcenter codepush deployment add -a <ownerName>/<appName> Production

常见问题

已发布升级包,但是检测更新显示已是最新代码

可能存在的几种情况如下:

  • 检查部署的key是否正确,是对应到Staging还是Production的
  • 检查android版本号是否正确,每个发布的bundle更新都会对应一个android的版本号,用于针对版本的更新

realease版本无法正常显示

检查是否正确配置proguard文件,可参考官方配置

转载于:https://my.oschina.net/u/552375/blog/1649961

Android端CodePush配置相关推荐

  1. React Native手动实现调用原生相机相册(Android端)

    前言 最近一直在学习RN的相关开发,想做一部分调用原生的实现,来练练手,于是就有了下面这个demo,由于本人是Android开发,所以只实现了Android端的效果. Demo 主要实现 这种调用原生 ...

  2. android native 相册,React Native手动实现调用原生相机相册(Android端)

    前言 最近一直在学习RN的相关开发,想做一部分调用原生的实现,来练练手,于是就有了下面这个demo,由于本人是Android开发,所以只实现了Android端的效果. Demo 主要实现 这种调用原生 ...

  3. Android端调用Caffe模型实现CNN分类

    本文的主要内容如下. 移动端的深度学习的实现方式 tiny-cnn介绍以及移动端移植 总结与改进 应用截图 一.移动端深度学习的几种实现方式 (1)Caffe的移动端编译项目 caffe(命令式框架) ...

  4. 【Android WebSocket】Android 端 WebSocket 基本用法 ( 下载 Java-WebSocket源码 | 导入 Java-WebSocket-1.5.2 工程作为依赖 )

    文章目录 一.下载 Java-WebSocket 源码 二.Android Studio 工程导入 Java-WebSocket 源码 使用 https://github.com/TooTallNat ...

  5. 【Android Protobuf 序列化】Protobuf 使用 ( protobuf-gradle-plugin 插件简介 | Android Studio 中配置插件 | AS 中编译源文件 )

    文章目录 一.protobuf-gradle-plugin 插件简介 二.Android Studio 中配置 protobuf-gradle-plugin 插件 三.Android Studio 中 ...

  6. 【Android RTMP】RTMPDumb 源码导入 Android Studio ( 交叉编译 | 配置 CMakeList.txt 构建脚本 )

    文章目录 安卓直播推流专栏博客总结 一. RTMP 协议 二. RTMP 协议使用 三. RTMPDump 源码下载 四. RTMPDump 源码交叉编译 五. RTMPDump 源码导入 Andro ...

  7. java 对外提供接口_Java服务器对外提供接口以及Android端向服务器请求数据

    讲解下java服务器是如何对移动终端提供接口的,以什么数据格式提供出去,移动端又是怎么请求服务器,接收以及解析返回数据的. 服务端:还是在原先S2SH框架的项目上(搭建SSH详细步骤及其相关说明),加 ...

  8. 如何做好 Android 端音视频测试?

    在用户眼中,优秀的音视频产品应该具有清晰.低延时.流畅.秒开.抗丢包.高音效等特征.为了满足用户以上要求,网易云信的工程师通过自建源站,在SDK端为了适应网络优化进行QoS优化,对视频编码器进行优化, ...

  9. 短视频技术详解:Android端的短视频开发技术

    在 <如何快速实现移动端短视频功能?>中,我们主要介绍了当前短视频的大热趋势以及开发一个短视频应用所涉及到的功能和业务.在本篇文章中,我们主要谈一谈短视频在Android端上的具体实现技术 ...

最新文章

  1. c51语言的标准库函的头文件,C51编程中头文件的使用
  2. 从硬件到软件 统一沟通将引领通讯市场
  3. Java开发面试题及答案,SpringBoot统一日志处理原理
  4. UVa1368 - DNA Consensus String(贪心算法)
  5. 借助开源工具高效完成Java应用的运行分析
  6. 传统的http请求存在那些缺点
  7. IT168调研:企业移动安全应用状况调查
  8. Spring Boot 核心知识,深入剖析!
  9. LiveVideoStack线上分享第四季(三):在线教育的音视频架构设计及弱网对抗技术...
  10. 投资学习网课笔记(part3)--基金第三课
  11. 使用Spring Boot打造文件文档在线预览平台
  12. 利用Enterprise Library中的DAAB构造的数据库访问架构
  13. iOS研发助手DoraemonKit技术实现之Crash查看
  14. 已知X随机变量的情况下,求解Y=G(x)的概率分布函数(只考虑单调的情况)
  15. 服务器后台运行程序(nohup/screen/tmux)
  16. Python 求数字开方
  17. 关于php的广告语,解说词、广告词、欢迎词专题训练a href=http://ruiwen.com/friend/list.php(教师中心专稿)/a...
  18. Oliver的救援【BFS】
  19. 排序算法lowB三人组
  20. 无代码开发平台 有哪些?

热门文章

  1. Spring MVC学习(8)—HandlerInterceptor处理器拦截器机制全解
  2. 数据可视化复习-03
  3. FLASH整站技术点分析和实践-第一期建站集体学习之一loadding
  4. 英语四级真题作文 计算机,英语四级作文 Computers-计算机
  5. 如何设置分页符(ReportViewer 控件)
  6. 韶音和南卡那个好,韶音AS800跟南卡runner pro3对比
  7. 打造属于自己的音乐播放
  8. rabbitMQ插件shovel配置(数据同步)
  9. 完美解决原型和原型链理解问题
  10. 如何在R语言中for循环批量创建变量并赋值