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