一种适于在移动终端中运行的应用的更新方法与流程

文档序号:22544491发布日期:2020-10-17 02:10阅读:105来源:国知局
一种适于在移动终端中运行的应用的更新方法与流程

本发明涉及应用开发领域,特别涉及一种适于在移动终端中运行的应用的更新方法。



背景技术:

随着移动设备的普及,人们的需求使得适于在移动设备上运行的应用也越来越多样化,也需要一种更便捷的方法对移动终端中的应用进行开发。其中一种对应用进行开发的方法是使用动态插件的方法,将插件添加到移动终端中的插件宿主中运行。但这种方法在进行开发调试时需要首先打包出单独的插件包,并把插件包拷贝到宿主工程中,再打包宿主工程运行,过程比较复杂,耗时较长导致开发效率低下。

因此,在对移动终端中运行的应用进行开发时,无法实时的对运行中的应用进行开发,也无法直接看到更新后的应用的运行结果,需要一种新的适于在移动终端中运行的应用的更新方法。



技术实现要素:

为此,本发明提供一种适于在移动终端中运行的应用的更新方法,以力图解决或者至少缓解上面存在的问题。

根据本发明的一个方面,提供一种适于在移动终端中运行的应用的更新方法,移动终端耦接到计算设备,方法包括步骤:接收对应用源代码的更新;利用脚本文件对包括更新的源代码和相关联的插件进行打包;对打包后的文件进行编译,并将编译后的文件发送到移动终端;以及根据预定规则加载编译后的文件,以便执行与更新相对应的功能。

可选地,在根据本发明的更新方法中,还包括:完成加载编译后的文件,将插件的缓存产物删除。

可选地,在根据本发明的更新方法中,根据预定规则加载编译后的插件包括步骤:在移动终端中按照预定路径加载打包后的文件。

可选地,在根据本发明的更新方法中,对打包的文件进行编译包括:对打包的文件中的更新的源代码进行增量编译生成编译文件。

可选地,在根据本发明的更新方法中,执行与更新相对应的功能包括:将编译文件与在移动终端中的应用源代码进行合并。

可选地,在根据本发明的更新方法中,还包括:根据合并后的应用源代码对应用资源树进行重建,得到更新后的应用。

根据本发明的又一个方面,提供一种移动终端,包括一个或多个处理器、存储器以及一个或多个程序,其中一个或多个程序存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序包括用于执行根据本发明的单车预约方法的指令。

根据本发明的另一方面,提供了一种计算设备,包括:一个或多个处理器;存储器;以及一个或多个程序,其中一个或多个程序存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序包括用于执行根据本发明的一种适于在移动终端中运行的应用的更新方法的任一方法的指令。

根据本发明的还有一个方面,提供了一种存储一个或多个程序的计算机可读存储介质,一个或多个程序包括指令,该指令当由计算设备执行时,使得计算设备执行根据本发明的一种适于在移动终端中运行的应用的更新方法中的任一方法。

本发明通过脚本文件对插件进行打包,并对打包后的插件进行编译,并将编译后的插件发送到移动终端,使脚本文件在移动终端的宿主环境中安装并执行。在移动终端中加载完毕插件后,执行与所述更新相对应的功能,能够实时的对运行中的应用进行开发,直接看到更新后的应用的运行结果。

并进一步的在加载编译后的插件时根据预定规则,在移动终端中按照预定路径记载插件,提高开发效率,简化打包的脚本文件的配置,也降低了在更新应用时出错的概率。

附图说明

为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。

图1示出了根据本发明一个示范性实施例的计算设备与移动终端相连接的示意图100;

图2示出了根据本发明一个示范性实施例的计算设备200的结构框图;

图3示出了根据本发明一个示范性实施例的移动终端300的结构框图;

图4示出了根据本发明一个实施例的一种适于在移动终端中运行的应用的更新方法400的流程图;

图5a示出了根据本发明一个实施例的更新前显示的应用示意图;

图5b示出了根据本发明一个实施例的更新后显示的应用示意图;以及

图6示出了根据本发明一个实施例对应用进行更新的流程图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。相同的附图标记通常指代相同的部件或元素。

本发明的一种适于在移动终端中运行的应用的更新方法适于在移动终端和计算设备中运行。图1示出了根据本发明一个示范性实施例的计算设备与移动终端相连接的示意图100。如图1所示,连接的示意图100包括1个计算设备110和1个移动终端120,图1中计算设备与移动终端相连接的方式仅为示例性的,在具体的实践情况中,计算设备110可以连接多个移动终端,本发明对计算设备所连接的移动终端的数量不作限制。图1中,计算设备110与移动终端120通信连接,并能够进行数据传输。

图2示出了根据本发明一个示范性实施例的计算设备200的结构框图。如图2所示,在基本的配置202中,计算设备200典型地包括系统存储器206和一个或者多个处理器204。存储器总线208可以用于在处理器204和系统存储器206之间的通信。

取决于期望的配置,处理器204可以是任何类型的处理,包括但不限于:微处理器(μp)、微控制器(μc)、数字信息处理器(dsp)或者它们的任何组合。处理器204可以包括诸如一级高速缓存210和二级高速缓存212之类的一个或者多个级别的高速缓存、处理器核心214和寄存器216。示例的处理器核心214可以包括运算逻辑单元(alu)、浮点数单元(fpu)、数字信号处理核心(dsp核心)或者它们的任何组合。示例的存储器控制器218可以与处理器204一起使用,或者在一些实现中,存储器控制器218可以是处理器204的一个内部部分。

取决于期望的配置,系统存储器206可以是任意类型的存储器,包括但不限于:易失性存储器(诸如ram)、非易失性存储器(诸如rom、闪存等)或者它们的任何组合。系统存储器206可以包括操作系统220、一个或者多个程序222以及程序数据224。在一些实施方式中,程序222可以布置为在操作系统上由一个或者多个处理器204利用程序数据224执行指令。

计算设备200还可以包括有助于从各种接口设备(例如,输出设备242、外设接口244和通信设备246)到基本配置202经由总线/接口控制器230的通信的接口总线240。示例的输出设备242包括图形处理单元248和音频处理单元250。它们可以被配置为有助于经由一个或者多个a/v端口252与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口244可以包括串行接口控制器254和并行接口控制器256,它们可以被配置为有助于经由一个或者多个i/o端口258和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备246可以包括网络控制器260,其可以被布置为便于经由一个或者多个通信端口264与一个或者多个其他计算设备262通过网络通信链路的通信。

网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(rf)、微波、红外(ir)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。

在根据本发明的计算设备200中,应用222包括执行一种适于在移动终端中运行的应用的更新方法400的多条程序指令,这些程序指令可以指示处理器204执行本发明的一种适于在移动终端中运行的应用的更新方法400中的部分步骤,以便计算设备110和移动终端120通过执行本发明的一种适于在移动终端中运行的应用的更新方法400来实现对移动终端中运行的应用进行更新。

计算设备200可以实现为服务器,例如文件服务器、数据库服务器、应用程序服务器等,这些电子设备可以是诸如个人数字助理(pda)、无线网络浏览设备、应用专用设备、或者可以包括上面任何功能的混合设备。可以实现为包括桌面计算机和笔记本计算机配置的个人计算机,也在一些实施例中,计算设备200被配置为执行一种适于在移动终端中运行的应用的更新方法400。

根据本发明的一个示范性实施例的计算设备与移动终端相连接的示意图100中的移动终端120可以是智能手机、平板电脑等,但不限于此。图3示出了根据本发明一个实施例的移动终端300的结构框图。移动终端300可以包括存储器接口302、一个或多个数据处理器、图像处理器和/或中央处理单元304,以及外围接口306。

存储器接口302、一个或多个处理器304和/或外围接口306既可以是分立元件,也可以集成在一个或多个集成电路中。在移动终端300中,各种元件可以通过一条或多条通信总线或信号线来耦合。传感器、设备和子系统可以耦合到外围接口306,以便帮助实现多种功能。

例如,运动传感器310、光线传感器312和距离传感器314可以耦合到外围接口306,以方便定向、照明和测距等功能。其他传感器316同样可以与外围接口306相连,例如定位系统(例如gps接收机)、温度传感器、生物测定传感器或其他感测设备,由此可以帮助实施相关的功能。

相机子系统320和光学传感器322可以用于方便诸如记录照片和视频剪辑的相机功能的实现,其中所述相机子系统和光学传感器例如可以是电荷耦合器件(ccd)或互补金属氧化物半导体(厘米os)光学传感器。可以通过一个或多个无线通信子系统324来帮助实现通信功能,其中无线通信子系统可以包括射频接收机和发射机和/或光(例如红外)接收机和发射机。无线通信子系统623的特定设计和实施方式可以取决于移动终端300所支持的一个或多个通信网络。例如,移动终端300可以包括被设计成支持lte、3g、gsm网络、gprs网络、edge网络、wi-fi或wimax网络以及blueboothtm网络的通信子系统324。

音频子系统326可以与扬声器328以及麦克风330相耦合,以便帮助实施启用语音的功能,例如语音识别、语音复制、数字记录和电话功能。i/o子系统340可以包括触摸屏控制器342和/或一个或多个其他输入控制器344。触摸屏控制器342可以耦合到触摸屏346。举例来说,该触摸屏346和触摸屏控制器342可以使用多种触摸感测技术中的任何一种来检测与之进行的接触和移动或是暂停,其中感测技术包括但不局限于电容性、电阻性、红外和表面声波技术。一个或多个其他输入控制器344可以耦合到其他输入/控制设备348,例如一个或多个按钮、摇杆开关、拇指旋轮、红外端口、usb端口、和/或指示笔之类的指点设备。所述一个或多个按钮(未显示)可以包括用于控制扬声器328和/或麦克风330音量的向上/向下按钮。

存储器接口302可以与存储器350相耦合。该存储器350可以包括内部存储器和外部存储器,内部存储器例如可以是静态随机存取存储器(sram)、非易失性存储器(nvram)等,但不限于此;外部存储器例如可以是硬盘、可移动硬盘、u盘等,但不限于此。存储器350可以存储程序指令,程序指令例如可以包括操作系统352和应用354。操作系统352例如可以是android、ios、windowsphone等,其包括用于处理基本系统服务以及执行依赖于硬件的任务的程序指令。存储器350还可以存储应用354,应用354可以包括用于实现各种用户期望的功能的程序指令。应用354可以是独立于操作系统提供的,也可以是操作系统自带的。另外,应用354被安装到移动终端200中时,也可以向操作系统添加驱动模块。在移动终端运行时,会从存储器350中加载操作系统352,并且由处理器304执行。应用354在运行时,也会从存储器350中加载,并由处理器304执行。应用354运行在操作系统之上,利用操作系统以及底层硬件提供的接口实现各种用户期望的功能,如即时通信、网页浏览、图片管理、运动休闲等。在上述各种应用354中,其中的一种应用为根据本发明一种适于在移动终端中运行的应用的更新方法中要更新的应用,处理器304可以执行一种适于在移动终端中运行的应用的更新方法400中的步骤对应用进行更新。

图4示出了根据本发明一个实施例的一种适于在移动终端中运行的应用的更新方法400的流程图。如图4所示,方法400始于步骤s410,接收对应用源代码的更新,对应用源代码的更新是指在计算设备中对在移动终端中正在运行的应用的源代码进行修改,修改的方式包括删除,增加和改写代码等,本发明对修改代码的方式不作限制。

随后,执行步骤s420,利用脚本文件对包括更新的源代码和相关联的插件进行打包,根据本发明的一个实施例,利用脚本文件进行打包的插件可以为flutter插件,本发明对执行与更新相对应功能的插件类型不作限制。对插件进行打包的脚本文件为自定义脚本文件。

由于在移动终端中在移动终端中执行插件,需要将插件在宿主包中运行,因此需要对插件进行打包后,再对宿主包进行打包才能够使插件在移动终端中执行。该步骤中使用自定义的脚本文件对插件进行打包,将打包后的插件动态加载到宿主,使之能够在移动终端中执行,简化了对插件的打包流程,节约了对移动终端中应用进行更新以及开发应用的时间。

根据本发明的一个实施例,该步骤还包括对自定义的脚本文件进行配置,使打包的脚本文件在移动终端中进行加载时每次按照规定路径进行加载,以避免因更换设备等原因导致宿主环境不同,在加载插件时出错,同时还可以简化打包脚本,提高应用的更新以及开发效率。

随后,执行步骤s430,对打包后的文件进行编译,并将编译后的文件发送到移动终端。移动终端在该步骤中接收由计算设备打包并编译后的文件。

根据本发明的一个实施例,对打包的文件进行编译时,对打包的文件中的更新的源代码进行增量编译生成编译文件。

最后,执行步骤s440,根据预定规则加载编译后的文件,执行与更新功能相对应的功能。其中,根据预定规则加载编译后的文件包括步骤:在移动终端中按照预定路径加载编译后的文件。在移动终端中按照预定路径加载插件,能够简化在对插件进行打包的脚本文件,同时避免对文件进行加载时因宿主环境不同报错。

该步骤还包括:完成加载编译后的插件,将插件的缓存产物删除。由于对移动终端中的应用进行更新时采用插件的方式对应用进行更新,因此在移动终端中每次对应用进行更新后,更新最终得到的应用在计算设备端进行存储,在移动终端中只存贮了每次更新前加载完毕插件后,未保留更新部分的应用。将上一次加载插件的缓存产物删除即可完成将上一次更新部分加载到移动终端的待更新的应用中。

根据本发明的一个实施例,执行与更新相对应的功能包括:将在计算设备中生成的编译文件与在移动终端中的运行的应用源代码进行合并。合并后的应用源代码即为更新后的应用的源代码。对编译的文件和移动终端中运行的源代码进行合并时,保持对应用的运行,不将应用关闭进行热更新。

根据本发明的一个实施例,执行与更新相对应的功能还包括:根据合并后的应用源代码对应用资源树进行重建,得到更新后的应用,以达到对在移动终端中运行的应用进行热更新的目的。移动终端接受到在计算设备中生成的编译文件后,不对应用进行重启,直接根据合并后的应用源代码对应用资源树进行重建,保持应用在改动前的状态,节省调试和更新应用的时间。

根据本发明的一个实施例,对移动终端运行的应用进行更新前的应用的示意图如图5a所示。图5所示的示意图中,修改前的代码如下所示:

raisebutton(

child:text(‘opensecondpage’)

图6示出了根据本发明一个实施例对应用进行更新的流程图。如图6所示,上述修改的代码在服务端环境的开发代码b.dart中,对其进行修改得到修改的代码b.dart。其中b.dart中的上述代码变更为:

raisebutton(

child:text(‘opensecondpage这是修改后的代码!!!!!!!!!’)

随后,将上述修改后的代码与flutter插件进行打包,进行打包时用于打包的一个自定义脚本文件如下所示:

接着,对打包后的文件进行编译,如图6所示,在对b.dart进行编译时,通过编译转化为增量的文件main.dart.incremental.dill,将编译后的文件发送到移动终端即客户端环境中。

移动终端接收编译后的文件后,按照预定路径对flutter插件和编译后的文件进行加载。加载flutter插件时将上一次对应用进行更新的插件的缓存产物删除。并如图6所示,与在移动终端中运行的应用的原代码文件kernel_blob.bin文件进行合并。进行合并时,保持对应用的运行,不将应用关闭进行热更新。

更新完毕后得到的新的应用的代码相关部分变更为:

raisebutton(

child:text(‘opensecondpage这是修改后的代码!!!!!!!!!’)

并对移动终端运行的应用进行更新后的应用的示意图如图5b所示。

根据本发明的应用更新方法,通过脚本文件对插件进行打包,并对打包后的插件进行编译,并将编译后的插件发送到移动终端,使脚本文件在移动终端的宿主环境中安装并执行。在移动终端中加载完毕插件后,执行与所述更新相对应的功能,能够实时的对运行中的应用进行开发,直接看到更新后的应用的运行结果。并进一步的在加载编译后的插件时根据预定规则,在移动终端中按照预定路径记载插件,提高开发效率,简化打包的脚本文件的配置,也降低了在更新应用时出错的概率。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组间可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组间组合成一个模块或单元或组间,以及此外可以把它们分成多个子模块或子单元或子组间。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。

这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如软盘、cd-rom、硬盘驱动器或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。

在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的设备停机状态的判断方法。

以示例而非限制的方式,计算机可读介质包括计算机存储介质和通信介质。计算机可读介质包括计算机存储介质和通信介质。计算机存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在计算机可读介质的范围之内。

如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。

尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1