# flutter_app_upgrade_ducafecat **Repository Path**: ducafecat/flutter_app_upgrade_ducafecat ## Basic Information - **Project Name**: flutter_app_upgrade_ducafecat - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-06-28 - **Last Updated**: 2021-10-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## App 升级功能 ![](doc/2021-01-08-11-32-11.png) ## 准备两个文件放服务器 有两个文件需要放在服务器上,我这边用的公司阿里 oss,否则后面都走不通 - 版本信息 https://yjy-oss-files.oss-cn-zhangjiakou.aliyuncs.com/apk/nineclock/upgrade.json - APK 最新文件 https://yjy-oss-files.oss-cn-zhangjiakou.aliyuncs.com/apk/nineclock/app-release.apk ## 阿里 oss 使用说明 http://wiki.research.itheima.net/pages/viewpage.action?pageId=15434455 文件位置 oss://yjy-oss-files/apk/ ### 接入步骤 ## 1. pubspec.yaml 加入依赖 ```yaml version: 1.1.14 dependencies: // 版本信息 package_info: ^0.4.3+2 // 升级 flutter_app_upgrade: git: url: https://gitee.com/ducafecat/flutter_app_upgrade_ducafecat ``` > version 维护你每次的新版本,记得先 run 一次再打包 ## 2. upgrade.json 版本信息文件 ```json { "version": "1.1.14", "contents": [ "- Fix 审批界面标题、null 字段、审批状态", "- Fix 只有审核人员才能有审核按钮", "- Fix 返回审核列表刷新数据" ] } ``` > version 新版本号 > 这个文件 放到服务器上 oss://yjy-oss-files/apk/xxx/upgrade.json ## 3. AndroidManifest.xml 修改 ```xml ... ... ``` > 注意 xmlns:tools="http://schemas.android.com/tools" 要加入 ## 4. config.version 配置 lib/common/config/version.dart ```dart const String VERSION_JSON_URL = "https://yjy-oss-files.oss-cn-zhangjiakou.aliyuncs.com/apk/nineclock/upgrade.json"; const String VERSION_APK_URL = "https://yjy-oss-files.oss-cn-zhangjiakou.aliyuncs.com/apk/nineclock/app-release.apk"; ``` ## 5. 一个方法调用 - Global 维护一份版本信息 ```dart class Global { static PackageInfo packageInfo; ... static Future init() async { ... packageInfo = await PackageInfo.fromPlatform(); } } ``` - 调用 ```dart await UpgradeUtil.appUpgrade( context: context, versionJsonUrl: VERSION_JSON_URL, apkDownloadUrl: VERSION_APK_URL, versionNumber: Global.packageInfo.version, ); ``` ### 常见问题 ### 1. 安装包 INSTALL_FAILED_UPDATE_INCOMPATIBLE 错误 - android/app/build.gradle ``` android { ... signingConfigs { release { v2SigningEnabled false ... } } ``` > 关闭 v2 签名方式