React Native的版本升級插件(僅是android), react-native版本須要0.17.0及以上java
npm install react-native-upgrade-android --save
npm link
link成功命令行會提示node
npm info Linking react-native-upgrade-android android dependency
#####Androidreact
// 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
以前增長:android
import com.lenny.modules.upgrade.UpgradeModule;
若是react-native-版本 <0.18.0 .addPackage(new MainReactPackage())
以後增長:ios
.addPackage(new UpgradPackage())
若是react-native-版本 >=0.18.0 在new MainReactPackage()
以後增長git
,new UpgradePackage()
import Upgrade from 'react-native-upgrade-android';
// 使用前必須初始化
相似以下:github
componentDidMount() {
const { isSet, } = this.props; if (Platform.OS !== 'ios') { Upgrade.init(); } }
開始下載shell
// 參數信息 downloadUrl: 下載apk地址(絕對地址)String version: 要下載的版本號 (防止重複下載)String fileName: 保存的文件名 String
相似以下:npm
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