鸿蒙第三方组件移植-XUpdate 精华

mb5f965ef4476fa
发布于 2021-7-23 17:23
浏览
4收藏

前言

  openharmony-tpc里收录了我移植于Android平台的版本更新框架XUpdate(https://github.com/xuexiangjys/Xupdate)。XUpdate是一个轻量级、高可用性的版本更新框架。Android版本被用到很多的产品中,我希望OpenHarmony版本的也能被很多人使用,更希望开发者提出宝贵的意见,使OpenHarmony版本的XUpdate更完善。

演示

  • 默认版本更新
    鸿蒙第三方组件移植-XUpdate-鸿蒙开发者社区

  • 后台更新
    鸿蒙第三方组件移植-XUpdate-鸿蒙开发者社区

  • 强制版本更新
    鸿蒙第三方组件移植-XUpdate-鸿蒙开发者社区

  • 可忽略版本更新
    鸿蒙第三方组件移植-XUpdate-鸿蒙开发者社区

  • 自定义提示弹窗主题
    鸿蒙第三方组件移植-XUpdate-鸿蒙开发者社区

  • 使用系统弹窗提示
    鸿蒙第三方组件移植-XUpdate-鸿蒙开发者社区

已经支持的功能

  • 支持post和get两种版本检查方式,支持自定义网络请求。

  • 支持设置只在wifi下进行版本更新。

  • 支持静默下载(后台更新)、自动版本更新。

  • 提供界面友好的版本更新提示弹窗,可自定义其主题样式。

  • 支持自定义版本更新检查器、版本更新解析器、版本更新提示器、版本更新下载器、出错处理。

  • 支持MD5文件校验、版本忽略、版本强制更新等功能。

  • 支持自定义文件校验方法【默认是MD5校验】。

  • 支持自定义请求API接口。

暂未实现的功能

  1. 设置自定义日志打印方法
  2. 安装功能、自动安装功能
  3. 设置安装监听
  4. FragmentDialog更新弹窗
  5. AppCompatActivity更新弹窗

代码组织结构

鸿蒙第三方组件移植-XUpdate-鸿蒙开发者社区
这是Lib包下的代码组织结构
主要接口说明:

  • 版本更新检查器IUpdateChecker:检查是否有最新版本。

  • 版本更新解析器IUpdateParser:解析服务端返回的数据结果。

  • 版本更新提示器IUpdatePrompter:展示最新的版本信息。

  • 版本更新下载器IUpdateDownloader:下载最新的版本APK安装包。

  • 网络请求服务接口IUpdateHttpService:定义了进行网络请求的相关接口。

  • 版本更新失败的监听器OnUpdateFailureListener

  • 版本更新apk安装的监听器OnInstallListener

  • 版本更新业务代理IUpdateProxy:负责版本更新的流程控制,调用update开始进行版本更新流程。
    代码流程:

IUpdateProxy/XUpdate --- (update) ---> IUpdateChecker --->(请求服务器,获取最新版本信息)---> IUpdateParser ---> (解析服务器返回的数据,并构建UpdateEntity版本更新实体)---> IUpdateProxy ---> (如无最新版本,直接结束,否则进行下面流程)

    ---自动模式---> IUpdateDownloader ---> (下载最新的应用)

    ---非自动模式---> IUpdatePrompter ---> 给出版本更新的提示

                                                        ---> 用户点击更新 ---> IUpdateDownloader ---> (下载最新的应用)

                                                        ---> 用户点击(取消或忽略) ---> 结束

结尾

这个应用还有个主要的功能没有完善,那就是自动安装。我已经试过了通过系统命令和官方提供的接口(IBundleManager.getBundleInstaller().install())对APP进行自动安装,但是总会报系统错误。
希望有经验的开发者能给予我帮助。

标签
已于2021-7-23 18:38:18修改
5
收藏 4
回复
举报
1条回复
按时间正序
/
按时间倒序
wx610273f694f1c
wx610273f694f1c

期待作者更好的作品

回复
2021-7-29 17:58:02
回复
    相关推荐