Flutter应用的更新方法、装置、设备及存储介质制造方法及图纸

技术编号:33554633 阅读:26 留言:0更新日期:2022-05-26 22:51
本申请实施例提供了Flutter应用的更新方法、装置、设备及存储介质,所述方法包括:通过Flutter应用所在终端获取具有跨平台特性的中间字节码文件;所述中间字节码文件用于对所述Flutter应用进行更新;通过Flutter应用所在终端预置的后端编译器,编译所述具有跨平台特性的中间字节码文件,得到与Flutter应用所在终端相应的二进制文件;执行所述二进制文件对所述Flutter应用进行更新。通过具有跨平台特性的中间字节码对Flutter应用进行更新,只需通过维护一份中间文件,即可适用于任意平台的Flutter应用更新,且可利用用户的使用环境把Flutter应用的中间字节码编译成特定平台的二进制文件,无需引入额外后台系统,无需用户干预,实现Flutter应用源代码的全量热更新。实现Flutter应用源代码的全量热更新。实现Flutter应用源代码的全量热更新。

【技术实现步骤摘要】
Flutter应用的更新方法、装置、设备及存储介质


[0001]本申请涉及计算机
,特别是涉及一种Flutter应用的更新方法、相应的一种Flutter应用的更新装置、相应的一种电子设备以及一种计算机存储介质。

技术介绍

[0002]Flutter跨平台应用框架(一种开源的跨平台应用开发框架)能够实现一套代码同时支持移动端、桌面端和Web端,通常需要同时实现电脑客户端桌面版本和移动端版本的应用,主要是基于Flutter跨平台框架开发实现的。
[0003]然而,具有跨平台特点的Flutter框架,其自身的热更新能力较为羸弱,基于Flutter框架所实现的Flutter应用在版本更新时需要用户手动安装应用安装包,不仅需要用户干预,而且进行的是全量升级,无法进行增量升级,不符合用户无感知升级的服务体验。

技术实现思路

[0004]鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种Flutter应用的更新方法、相应的一种Flutter应用的更新装置、相应的一种电子设备以及一种计算机存储介质。
[0005]本申请实施例公开了一种Flutter应用的更新方法,所述方法包括:
[0006]通过Flutter应用所在终端获取具有跨平台特性的中间字节码文件;所述中间字节码文件用于对所述Flutter应用进行更新;
[0007]通过Flutter应用所在终端预置的后端编译器,编译所述具有跨平台特性的中间字节码文件,得到与Flutter应用所在终端相应的二进制文件;
[0008]执行所述二进制文件对所述Flutter应用进行更新。
[0009]可选地,所述通过Flutter应用所在终端获取具有跨平台特性的中间字节码文件,包括:
[0010]通过Flutter应用所在终端的后台服务进程,向服务端定时拉取对Flutter应用更新的中间字节码文件;所述服务端用于接收将用于更新Flutter应用的Dart源代码文件编译得到的中间字节码文件。
[0011]可选地,所述中间字节码文件包括签名信息,所述通过Flutter应用所在终端获取具有跨平台特性的中间字节码文件,包括:
[0012]通过Flutter应用所在终端的后台服务进程,根据所述签名信息从服务端拉取新版本的中间字节码文件。
[0013]可选地,所述Flutter应用所在终端预置的后端编译器具有平台标识,所述通过Flutter应用所在终端预置的后端编译器,编译所述具有跨平台特性的中间字节码文件,得到与Flutter应用所在终端相应的二进制文件,包括:
[0014]采用预置的后端编译器将所述中间字节码文件编译为与所述平台标识相应的二
进制文件,以符合Flutter应用所在终端平台特定的二进制文件。
[0015]可选地,还包括:
[0016]将编译后得到的二进制文件存储至所述Flutter应用的备份目录,所述备份目录用于在所述Flutter应用的安装目录被占用时加载使用。
[0017]可选地,所述执行所述二进制文件对所述Flutter应用进行更新,包括:
[0018]响应对所述Flutter应用的启动指令和/或重启动指令,加载所述Flutter应用的安装目录中的二进制文件启动所述Flutter应用,以对所述Flutter应用进行更新。
[0019]可选地,所述加载所述Flutter应用的安装目录中的二进制文件启动所述Flutter应用,包括:
[0020]获取所述Flutter应用的备份目录中存在的新版本的二进制文件,将所述新版本的二进制文件覆盖至所述Flutter应用的安装目录中旧版本的二进制文件;
[0021]在所述Flutter应用启动时,执行所述安装目录中新版本的二进制文件加载更新后的Flutter应用。
[0022]本申请实施例还公开了一种Flutter应用的更新装置,所述装置包括:
[0023]中间字节码文件获取模块,位于Flutter应用所在终端,用于获取具有跨平台特性的中间字节码文件;所述中间字节码文件用于对所述Flutter应用进行更新;
[0024]中间字节码文件编译模块,位于Flutter应用所在终端预置的后端编译器,用于编译所述具有跨平台特性的中间字节码文件,得到与Flutter应用所在终端相应的二进制文件;
[0025]应用更新模块,用于执行所述二进制文件对所述Flutter应用进行更新。
[0026]可选地,所述中间字节码文件获取模块包括:
[0027]中间字节码文件获取子模块,用于通过Flutter应用所在终端的后台服务进程,向服务端定时拉取对Flutter应用更新的中间字节码文件;所述服务端用于接收将用于更新Flutter应用的Dart源代码文件编译得到的中间字节码文件。
[0028]可选地,所述中间字节码文件包括签名信息,所述中间字节码文件获取模块包括:
[0029]中间字节码文件获取子模块,还用于通过Flutter应用所在终端的后台服务进程,根据所述签名信息从服务端拉取新版本的中间字节码文件。
[0030]可选地,所述Flutter应用所在终端预置的后端编译器具有平台标识,所述中间字节码文件编译模块包括:
[0031]中间字节码文件编译子模块,用于采用预置的后端编译器将所述中间字节码文件编译为与所述平台标识相应的二进制文件,以符合Flutter应用所在终端平台特定的二进制文件。
[0032]可选地,所述中间字节码文件编译模块还包括:
[0033]中间字节码文件存储子模块,用于将编译后得到的二进制文件存储至所述Flutter应用的备份目录,所述备份目录用于在所述Flutter应用的安装目录被占用时加载使用。
[0034]可选地,所述应用更新模块包括:
[0035]应用更新子模块,用于响应对所述Flutter应用的启动指令和/或重启动指令,加载所述Flutter应用的安装目录中的二进制文件启动所述Flutter应用,以对所述Flutter
应用进行更新。
[0036]可选地,所述应用更新子模块包括:
[0037]二进制文件覆盖单元,用于获取所述Flutter应用的备份目录中存在的新版本的二进制文件,将所述新版本的二进制文件覆盖至所述Flutter应用的安装目录中旧版本的二进制文件;
[0038]二进制文件执行单元,用于在所述Flutter应用启动时,执行所述安装目录中新版本的二进制文件加载更新后的Flutter应用。
[0039]本申请实施例还公开了一种电子设备,包括:处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现任一项所述Flutter应用的更新方法的步骤。
[0040]本申请实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种Flutter应用的更新方法,其特征在于,所述方法包括:通过Flutter应用所在终端获取具有跨平台特性的中间字节码文件;所述中间字节码文件用于对所述Flutter应用进行更新;通过Flutter应用所在终端预置的后端编译器,编译所述具有跨平台特性的中间字节码文件,得到与Flutter应用所在终端相应的二进制文件;执行所述二进制文件对所述Flutter应用进行更新。2.根据权利要求1所述的方法,其特征在于,所述通过Flutter应用所在终端获取具有跨平台特性的中间字节码文件,包括:通过Flutter应用所在终端的后台服务进程,向服务端定时拉取对Flutter应用更新的中间字节码文件;所述服务端用于接收将用于更新Flutter应用的Dart源代码文件编译得到的中间字节码文件。3.根据权利要求1或2所述的方法,其特征在于,所述中间字节码文件包括签名信息,所述通过Flutter应用所在终端获取具有跨平台特性的中间字节码文件,包括:通过Flutter应用所在终端的后台服务进程,根据所述签名信息从服务端拉取新版本的中间字节码文件。4.根据权利要求1所述的方法,其特征在于,所述Flutter应用所在终端预置的后端编译器具有平台标识,所述通过Flutter应用所在终端预置的后端编译器,编译所述具有跨平台特性的中间字节码文件,得到与Flutter应用所在终端相应的二进制文件,包括:采用预置的后端编译器将所述中间字节码文件编译为与所述平台标识相应的二进制文件,以符合Flutter应用所在终端平台特定的二进制文件。5.根据权利要求1或4所述的方法,其特征在于,还包括:将编译后得到的二进制文件存储至所述Flutter应用的备份目录,所述备份目录用于在所述Flutter应用的安装目录被占用时加载使用。6.根据权利要求1...

【专利技术属性】
技术研发人员:吴晓沈杰
申请(专利权)人:阿里巴巴中国有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1