r_upgrade 0.1.8 copy "r_upgrade: ^0.1.8" to clipboard
r_upgrade: ^0.1.8 copied to clipboard

outdated

A plugin for upgrade and install application ,Support Android and IOS.

r_upgrade #

pub package

Android and IOS upgrade plugin.

中文点此 #

Getting Started #

  • use plugin: add this code in pubspec.yaml
dependencies:
  r_upgrade: last version
  • add listener
RUpgrade.stream.listen((info){
  ///...
});
  • just upgrade your android application
    void upgrade() async {
      int id = await RUpgrade.upgrade(
                 'https://raw.githubusercontent.com/rhymelph/r_upgrade/master/apk/app-release.apk',
                 apkName: 'app-release.apk');
    }
  • you can use this id to cancel download
    void cancel() async {
      bool isSuccess=await RUpgrade.cancel(id);
    }
  • you can use this id to install apk
    void install() async {
      bool isSuccess=await RUpgrade.install(id);
    }
  • your application is ios.You can use this.
    void iosUpgrade(String url)async{
      RUpgrade.appStore(url);
    }
  • you can use this id to hot upgrade,but download file is zip. include three file [isolate_snapshot_data]、[kernel_blob.bin]、[vm_snapshot_data].Your can use flutter build bundle generate.
 flutter build bundle

generate file path form ./build/flutter_assets and packaged into zip.

|- AssetManifest.json
|- FontManifest.json
|- fonts
    |- ...
|- isolate_snapshot_data *
|- kernel-blob.bin       *
|- LICENSE
|- packages
    |- ...
|- vm_snapshot_data      *

download complete you can use download id to hot upgrade

           bool isSuccess = await RUpgrade.hotUpgrade(id);
           if (isSuccess) {
              _state.currentState
                    .showSnackBar(SnackBar(content: Text('热更新成功,3s后退出应用,请重新进入')));
                Future.delayed(Duration(seconds: 3)).then((_){
                  SystemNavigator.pop(animated: true);
                });
           }else{
              _state.currentState
                    .showSnackBar(SnackBar(content: Text('热更新失败,请等待更新包下载完成')));
              }

if your application is Android,make sure your application had this permission and request dynamic permission.

    <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

At present, the hot update is still in the testing stage, only supporting the change of the flutter code, not supporting the resource file, etc. the author of the plug-in is not responsible for all the consequences caused by the hot update, and the user is responsible for it.

141
likes
0
pub points
93%
popularity

Publisher

verified publisherrhyme95.cn

A plugin for upgrade and install application ,Support Android and IOS.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter

More

Packages that depend on r_upgrade