乐于分享
好东西不私藏

Ruoyi-Android-App 版本更新功能解析

Ruoyi-Android-App 版本更新功能解析

简介

RuoYi Android App 移动解决方案,采用kotlin框架,实现了与RuoYi-Go 、RuoYi-Vue、RuoYi-Cloud完美对接的移动解决方案!目前已经实现登录、我的、工作台、编辑资料、头像修改、密码修改、常见问题、关于我们等基础功能。

  • 配套后端代码仓库地址RuoYi-Go 或 RuoYi-Vue 或 RuoYi-Cloud 版本。
  • 应用框架基于kotlin,支持Android。
今天讲解的是工作台部分,只有是https://gitee.com/OptimisticDevelopers/Ruoyi-Android-App/blob/ui_1.1.1/api/app_update.json# 这个地方的json,配置
{  "code"200,  "msg""查询成功",  "data": {    "UpdateStatus"2,    "UpdateType"2,    "VersionCode"15,    "VersionName""1.1.2",    "UploadTime""2025-03-25 21:50:41",    "ModifyContent""\r\n1、添加全局水印",    "DownloadUrl""https://gitee.com/OptimisticDevelopers/Ruoyi-Android-App/raw/ui_1.1.0/api/ruoyi-android-mobile_1.1.2_15_2026-01-13_release.apk",    "HotUpdateUrl""",    "ApkSize"7808,    "HotUpdateSize"0,    "ApkMd5""fe12ee53d0810f7f652da8122810b5b4",    "HotUpdateMd5""a3d7c9e1f2b4d688e0a2c4e6f8b0d2a4"  }}

1. 更新控制字段

  • UpdateStatus更新状态:2 代表有新版本,一般业务定义:

    • 0:无更新
    • 1:建议更新
    • 2:强制更新
  • UpdateType更新类型:2 代表整包 APK 更新,常见定义:

    • 1:热更新 / 增量更新
    • 2:全量安装包更新

2. 版本标识字段

  • VersionCode内部版本号:15,Android 用于版本对比的数字,数值越大版本越新。

  • VersionName展示版本名:1.1.2,给用户看的版本号。

  • UploadTime安装包上传 / 发布时间:2025-03-25 21:50:41

3. 更新内容字段

  • ModifyContent 更新日志 / 修改内容:1、添加全局水印

4. 下载地址字段

  • DownloadUrlAPK 完整下载链接,客户端直接通过该地址下载安装。

  • HotUpdateUrl热更新包下载地址,为空串 "" 表示本次无热更新

5. 安装包大小字段

  • ApkSize安装包大小,单位一般为 KB:7808

  • HotUpdateSize热更新包大小:0 表示无热更新包。

6. 校验字段(防篡改 / 完整性校验)

  • ApkMd5安装包 MD5 值,用于校验文件是否完整、未被篡改。

  • HotUpdateMd5热更新包 MD5,本次无热更新,仅为占位值。

这是着几个字端使用情况。
具体效果如下:
具体怎么实现的呢?
使用第三方 lib 
初始化配置
XUpdate.get()    .debug(true)    .isWifiOnly(true)                                               // By default, only version updates are checked under WiFi    .isGet(true)                                                    // The default setting uses Get request to check versions    .isAutoMode(false)                                              // The default setting is non automatic mode    .param("versionCode", UpdateUtils.getVersionCode(this))         // Set default public request parameters    .param("appKey", getPackageName())    .setOnUpdateFailureListener(new OnUpdateFailureListener() {     // Set listening for version update errors        @Override        publicvoidonFailure(UpdateError error) {            if (error.getCode() != CHECK_NO_NEW_VERSION) {          // Handling different errors                ToastUtils.toast(error.toString());            }        }    })    .supportSilentInstall(true)                                     // Set whether silent installation is supported. The default is true    .setIUpdateHttpService(new OKHttpUpdateHttpService())           // This must be set! Realize the network request function.    .init(this);                                                    // This must be initialized
里面字端含义
使用它的目的,第一实现了功能,其他功能都是可以自定义主题。
启动更新即可,在每个页面也可以,在第一次登录也可以
XUpdate.newBuild(getActivity())        .updateUrl(mUpdateUrl)        .update();
更多功能在这里可以看到:

https://github.com/xuexiangjys/XUpdate/blob/master/README_ZH.md

本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » Ruoyi-Android-App 版本更新功能解析

评论 抢沙发

7 + 7 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
×
订阅图标按钮