React Native的版本升级插件(仅是android), react-native版本需要0.17.0及以上

如何安装

1.首先安装npm包

npm install react-native-upgrade-android --save

2.link

自动link方法~ npm requires node version 4.1 or higher

npm link

link成功命令行会提示

npm info Linking react-native-upgrade-android android dependency

手动link~(如果不能够自动link)

#####Android

// file: android/settings.gradle
... include ':react-native-upgrade-android'
project(':react-native-upgrade-android').projectDir = new File(settingsDir, '../node_modules/react-native-upgrade-android/android')
// file: android/app/build.gradle
... dependencies {
...
compile project(':react-native-upgrade-android')
}

android/app/src/main/java/<你的包名>/MainActivity.java中,public class MainActivity之前增加:

import com.lenny.modules.upgrade.UpgradeModule;

如果react-native-版本 <0.18.0 .addPackage(new MainReactPackage())之后增加:

.addPackage(new UpgradPackage())

如果react-native-版本 >=0.18.0 在new MainReactPackage()之后增加

,new UpgradePackage()

如何使用

引入包

import Upgrade from 'react-native-upgrade-android';

API

Upgrade.init()

// 使用前必须初始化

类似如下:

componentDidMount() {
const {
isSet,
} = this.props;
if (Platform.OS !== 'ios') {
Upgrade.init();
}
}

WeiboAPI.startDownLoad(downloadUrl, version, fileName)

开始下载

// 参数信息
downloadUrl: 下载apk地址(绝对地址)String
version: 要下载的版本号 (防止重复下载)String
fileName: 保存的文件名 String

添加监听

类似如下:

componentDidMount() {
const {
isSet,
} = this.props;
if (Platform.OS !== 'ios') {
Upgrade.init();
DeviceEventEmitter.addListener('progress', (e) => {
if (e.code === '0000') { // 开始下载
this.setState({
isLoading: true,
});
} else if (e.code === '0001') { // 下载中,更新进度条
this.setState({
fileSize: e.fileSize,
downSize: e.downSize,
});
} else if (e.code === '0002') { // 下载完成
this.setState({
fileSize: e.fileSize,
downSize: e.downSize,
});
}
});
}
} Github地址:https://github.com/lennyup/react-native-upgrade-android

react-native-upgrade-android的更多相关文章

  1. React Native For Android 架构初探

    版权声明:本文由王少鸣原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/171 来源:腾云阁 https://www.qclo ...

  2. React native 之android的图标和启动图片

    哎哎呀呀,上篇说到了react native的IOS的图标和启动图片的设置,其实最主要的是尺寸!相应的尺寸设定好了以后就不会报错了! ok~这篇说的是React native的android的图标和启 ...

  3. 【React Native开发】React Native For Android环境配置以及第一个实例(1)

    年9月15日也公布了ReactNative for Android,尽管Android版本号的项目公布比較迟,可是也没有阻挡了广大开发人员的热情.能够这样讲在2015年移动平台市场上有两个方向技术研究 ...

  4. React Native for Android 学习

    前言 Facebook 在2015.9.15发布了 React Native for Android,把 JavaScript 开发技术扩展到了移动Android平台.基于React的React Na ...

  5. React Native for android 项目驱动教程

    第一节 搭建开发环境 第二节 显示页面标题 第三节 实现页面布局 # React native是什么? React Native,是颠覆性的移动开发技术.它使用js开发,又是原生应用,不同于Hybri ...

  6. React Native for Android应用名及图标修改

    应用开发完了,总不能顶着MyProject和小机器人图标就发布了吧?在发布之前,有多处需要修改的地方.今天我们来全面的看一下 应用ID 俗称PackageName,或APP ID.注意,在gradle ...

  7. react native 之 Android物理返回键

    基本用法 根据文档,安卓back键的处理主要就是一个事件监听: BackAndroid.addEventListener('hardwareBackPress', this.onBackPressed ...

  8. React Native for Android 热部署图片自己定义方案

    情景 热部署时,我们期望升级包中包括js代码与图片资源. bundle的热部署网上已经有两种方案了,一种是用反射,一种是利用RN自带函数.将bundle初始化时直接放到指定文件夹下,之后通过替换bun ...

  9. 混合开发的大趋势之一React Native与Android联调

    转载请注明出处:王亟亟的大牛之路 先安利,有空我都会更,看到的好东西都会放进来:https://github.com/ddwhan0123/Useful-Open-Source-Android 公司某 ...

  10. React Native for Android on Windows 配置开发安装总结

    配置开发安装总结(由于当前react-native更新较快,目前是针对2015年11月底时的reacti-native android for windows版本,有些内容可能过时) 官方的安装指导在 ...

随机推荐

  1. 推荐前端开发手机调试打印神器console.log()

    下面说的这个插件很牛,相信很多人都不知道,但找问题的时候很需要,直接上干货如下: vConsole:一个轻量.可拓展.针对手机网页的前端开发者调试面板. 下载 vConsole 的最新版本.(不要直接 ...

  2. CentOs7.5安装PostgreSQL11

    前言 本章介绍在CentOs上安装一个PostgreSQL数据库 下一篇可能是安装 Redis 本篇使用的服务器是已经安装过Python/Nginx等常用软件的环境,因此在安装过程中可能会遇到按照本章 ...

  3. mui 记录

    1.轮播添加无限循环 需要在 .mui-slider-group节点上增加.mui-slider-loop类 2.web移动端侧滑与滑动同时存在 参考https://segmentfault.com/ ...

  4. 让oracle数据库的表的id自动递增

    1.创建递增序列 CREATE SEQUENCE  ID_ADD(序列名称)INCREMENT BY 1START WITH 1MINVALUE 1NOMAXVALUE; 2.创建触发器绑定到表上cr ...

  5. netty 服务器端流程调度Flow笔记

    create NioEventLoopGroup Instance 一.NioServerSocketChannel init note:Initializing ChannelConfig crea ...

  6. 树链剖分——模板题hdu3966

    #include<bits/stdc++.h> using namespace std; #define ll long long #define maxn 50005 ]; int he ...

  7. cc.Lable组件,RichText组件,AudioSouce组件的使用

    一.cc.Lable组件的使用 1.创建Label的方法 a.通过菜单直接创建Label组件:b.先创建节点,然后在节点上绑定Label组件即可. 2.Label 面板上的属性 String => ...

  8. Java 后台POST模拟文件上传

    概述 废话不多说,直接撸代码 代码 1.引入Maven包 <dependency> <groupId>org.apache.httpcomponents</groupId ...

  9. nginx 常用命令

    -?,-h         : this help  -v            : show version and exit  -V            : show version and c ...

  10. navicat连接centos7上mysql:2003-Can't connect to MySQL server (10060)

    问题解决步骤: 1.参考http://jingyan.baidu.com/article/95c9d20dac9040ec4f75617a.html,发现是防火墙未关闭: 2.关闭并禁止firewal ...