Flutter使用XUpdate实现自动升级


引入package

flutter_xupdate: ^2.0.2

修改主题文件 android/app/src/main/res/values/styles.xml

<style name="LaunchTheme" parent="Theme.AppCompat.Light.NoActionBar">

在mian.dart中引入依赖

import 'dart:io';
import 'package:flutter_xupdate/flutter_xupdate.dart';

在MyApp的initState方法中,配置自动更新

@override
void initState() {
  super.initState();

  initXUpdate();
  FlutterXUpdate.checkUpdate(
  	url: '...update_forced.json?t=' + DateTime.now().millisecond.toString());
}

///初始化
void initXUpdate() {
  if (Platform.isAndroid) {
    FlutterXUpdate.init(
      //请求响应超时时间
      timeout: 5000,
      //是否仅在wifi下进行更新
      isWifiOnly: false,
    );
  }
}

应用打包

flutter build apk --no-shrink

进入目录 build/app/outputs/flutter-apk 生成打包文件的MD5码

certutil -hashfile app.apk MD5

配置VSCode快捷键

配置打包文件 update_forced.json

{
    "Code": 0,
    "Msg": "",
    "UpdateStatus": 2,
    "VersionCode": 19,
    "VersionName": "0.1.1",
    "UploadTime": "2021-12-02 14:46:41",
    "ModifyContent": "\r\n1、完成登录功能。\r\n2、实现自动更新。\r\n3、新增自定义更新服务API接口。\r\n4、优化更新提示界面。",
    "DownloadUrl": ".../apk/app.apk",
    "ApkSize": 21468,
    "ApkMd5": "..."
}

使用 ctrl+shift+u 将ApkMd5转换为大写


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM