笔者作为一个懒货,如非必要真的是不想造轮子,眼看app要上架还没有更新功能,就随便找了找,可以是使用bugly提供的存储+流量然后使用xupdate进行本地更新,废话不说,代码如下:

void _checkUpgrade() {
    FlutterBugly.checkUpgrade(isManual: false, isSilence: false)
        .then((UpgradeInfo info) {
      if (info != null && info.id != null) {
        UpdateEntity updateEntity = new UpdateEntity(
            hasUpdate: true,
            isForce: info.upgradeType == 2,
            versionCode: info.versionCode,
            versionName: info.versionName,
            updateContent: info.newFeature,
            downloadUrl: info.apkUrl,
            apkMd5: info.apkMd5,
            apkSize: (info.fileSize / 1000).ceil());
        Const.log(info);
        initXUpdate(updateEntity);
      } else {
        initXUpdate(null);
      }
    });
  }

  void initXUpdate(UpdateEntity updateEntity) {
    if (Platform.isAndroid) {
      FlutterXUpdate.init(
              ///是否输出日志
              debug: Const.isDebug,
              ///是否使用post请求
              isPost: false,
              ///post请求是否是上传json
              isPostJson: false,
              ///是否开启自动模式
              isWifiOnly: false,
              ///是否开启自动模式
              isAutoMode: false,
              ///需要设置的公共参数
              supportSilentInstall: false,
              ///在下载过程中,如果点击了取消的话,是否弹出切换下载方式的重试提示弹窗
              enableRetry: false)
          .then((value) {
        Const.log("初始化成功: $value");
      }).catchError((error) {
        print(error);
      });
      if (updateEntity != null) {
        FlutterXUpdate.updateByInfo(
            updateEntity: updateEntity,
            supportBackgroundUpdate: false,
            themeColor: '#FF5000',
            topImageRes: 'bg_update_top');
      } else {
	///这里加了一个更新地址以防bugly挂掉
        FlutterXUpdate.checkUpdate(
            url: Const.updateUrl,
            supportBackgroundUpdate: false,
            themeColor: '#FF5000',
            topImageRes: 'bg_update_top');
      }
    } else {
      //todo iOS更新支持,此处ios更新自由发挥
      Const.log("ios暂不支持XUpdate更新");
    }
  }


initState()中调用_checkUpgrade();即可