標籤:ice this 參數 -o 版本 for ini set ##
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‘;
APIUpgrade.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