CN108304205A - 一种应用程序的更新方法、终端及计算机可读存储介质 - Google Patents

一种应用程序的更新方法、终端及计算机可读存储介质 Download PDF

Info

Publication number
CN108304205A
CN108304205A CN201810088751.1A CN201810088751A CN108304205A CN 108304205 A CN108304205 A CN 108304205A CN 201810088751 A CN201810088751 A CN 201810088751A CN 108304205 A CN108304205 A CN 108304205A
Authority
CN
China
Prior art keywords
lua
luaview
add
files
updated
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201810088751.1A
Other languages
English (en)
Inventor
黄小峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nubia Technology Co Ltd
Original Assignee
Nubia Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nubia Technology Co Ltd filed Critical Nubia Technology Co Ltd
Priority to CN201810088751.1A priority Critical patent/CN108304205A/zh
Publication of CN108304205A publication Critical patent/CN108304205A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Abstract

本发明提供一种应用程序的更新方法、终端及计算机可读存储介质,包括:确定目标应用程序的目标待更新模块;获取目标待更新模块的Lua插件文件;将Lua插件文件加载到LuaView SDK架构中;通过LuaView SDK架构对Lua插件文件进行解释执行,生成Lua插件文件对应的目标组件;当启动目标待更新模块时,根据目标组件绘制页面,使得绘制的页面具有原生的用户体验;当目标待更新模块的显示信息有更新时,通过加载更新的Lua插件文件,便可对目标待更新模块的显示信息进行更新,可以快速给用户展示更新页面,无需重启应用程序,适合电商等需求变动大的产品开发。

Description

一种应用程序的更新方法、终端及计算机可读存储介质
技术领域
本发明涉及终端技术领域,更具体地说,涉及一种应用程序的更新方法、终端及计算机可读存储介质。
背景技术
目前,某些App(Application,应用程序)中某些待更新模块(如活动、电商)的显示信息会频繁变动,这些模块是动态模块,因此需要频繁发更新版本,目前的更新做法一般有以下两种:
第一种:重新打包App、测试、向各个应用市场和渠道换包、提示用户升级、用户下载、覆盖安装;
对于第一种方式,若修改的代码量很小,也要付出巨大的成本进行换包和重新发布更新版本;当发布更新版本的App后,用户也不一定会马上升级到新版本的App,从而造成不好的用户体验;
第二种:在App中动态模块以HTML5(HyperText Markup Language5,超级文本标记语言5)和javascript(一种直译式脚本语言)实现,动态模块在WebView(网页视图)控件中运行;
对于第二种方式,由于WebView的单线程渲染特点,性能比较差,用户体验不是很好。
发明内容
本发明的主要目的在于提出一种应用程序的更新方法、终端及计算机可读存储介质,旨在解决现有技术中,App中待更新模块的信息频繁变动时,用户需要频繁下载更新版本,或者当待更新模块以HTML5和javascript实现时,待更新模块在WebView控件中运行,WebView的单线程渲染特点,性能比较差,用户体验差的问题。
为解决上述技术问题,本发明提供一种应用程序的更新方法,应用程序的更新方法包括以下步骤:
确定目标应用程序的目标待更新模块;
获取目标待更新模块的第一Lua插件文件;
将第一Lua插件文件加载到LuaView SDK架构中;
通过LuaView SDK架构对第一Lua插件文件进行解释执行,生成第一Lua插件文件对应的目标组件;
当启动目标待更新模块时,根据目标组件绘制页面。
可选的,目标组件包括LuaView组件以及原生组件;
通过LuaView SDK架构对第一Lua插件文件进行解释执行,生成第一Lua插件文件对应的目标组件;当启动目标待更新模块时,根据目标组件绘制页面包括:
通过LuaView SDK架构对第一Lua插件文件进行解释执行,生成LuaView组件以及原生组件,并解析出LuaView组件以及原生组件的布局信息;当启动目标待更新模块时,根据LuaView组件绘制LuaView页面,根据原生组件绘制原生页面,并根据布局信息确定LuaView页面与原生页面的布局。
可选的,根据布局信息确定LuaView页面与原生页面的布局包括:根据布局信息确定LuaView页面与原生页面无重叠区域,或者根据布局信息确定原生页面嵌入到LuaView页面中。
可选的,LuaView组件至少包括待展现业务入口组件;
根据目标组件绘制页面至少包括:根据待展现业务入口组件,绘制待展现业务入口界面,待展现业务入口界面在LuaView页面中,待展现业务入口界面是为待展现业务预留的入口。
可选的,待展现业务是通过StubActivity从服务器获取待展现业务的第二Lua插件文件、并运行第二Lua插件文件实现的,StubActivity是在AndroidManifest.xml中预注册的,第二Lua插件文件的参数为统一资源定位符地址。
可选的,第一Lua插件文件是由Lua脚本语言编写的;
通过LuaView SDK架构对第一Lua插件文件进行解释执行,生成LuaView组件以及原生组件,并解析出LuaView组件以及原生组件的布局信息;当启动目标待更新模块时,根据LuaView组件绘制LuaView页面,根据原生组件绘制原生页面,并根据布局信息确定LuaView页面与原生页面的布局的过程中,Lua脚本语言与原生组件的交互模式包括:
Lua脚本语言中的数据属性值以获取属性或设置属性的方式、通过userdata提供给原生组件,原生组件将处理后的数据以回掉方式、通过userdata返回给Lua脚本语言。
可选的,获取目标待更新模块的第一Lua插件文件包括:
从服务器获取目标待更新模块的第一Lua插件文件的校验码,并跟本地预存的第一Lua插件文件的校验码进行比较;
若比较结果一致,则从本地存储空间获取本地的目标待更新模块的第一Lua插件文件;
若比较结果不一致,则从服务器获取目标待更新模块所需版本的第一Lua插件文件以及对应的校验码,并进行保存。
可选的,在将第一Lua插件文件加载到LuaView SDK架构中之前,还包括以下步骤:对第一Lua插件文件进行签名验证机制的验证;若验证通过,则进入将第一Lua插件文件加载到LuaView SDK架构中的步骤。
进一步地,本发明提供一种终端,终端包括处理器、存储器及通信总线;
通信总线用于实现处理器和存储器之间的连接通信;
处理器用于执行存储器中存储的一个或者多个程序,以实现如上的应用程序的更新方法的步骤。
进一步地,本发明提供一种计算机可读存储介质,计算机可读存储介质存储有一个或者多个程序,一个或者多个程序可被一个或者多个处理器执行,以实现如上的一种应用程序的更新方法的步骤。
有益效果
本发明提供了一种应用程序的更新方法、终端及计算机可读存储介质,该应用程序的更新方法包括以下步骤:确定目标应用程序的目标待更新模块;获取目标待更新模块的第一Lua插件文件;将第一Lua插件文件加载到LuaView SDK架构中;通过LuaView SDK架构对第一Lua插件文件进行解释执行,生成第一Lua插件文件对应的目标组件;当启动目标待更新模块时,根据目标组件绘制页面;通过上述方案,当目标应用程序的目标待更新模块的显示信息有更新时,通过加载更新的Lua插件文件,便可对目标应用程序的目标待更新模块的显示信息进行更新,使得业务的动态修改成为可能,非常适合电商等需求变动大的产品开发;不需要升级应用程序也能实现目标待更新模块的显示信息的更新,提升了用户体验,同时还解决了使用HTML5和javascript带来的用户体验不好的问题;且通过LuaViewSDK架构对Lua插件文件进行解释执行,生成Lua插件文件对应的目标组件,并根据目标组件绘制页面,使得绘制的页面具有原生的用户体验;同时LuaView SDK架构的Lua脚本引擎非常小,启动非常迅速,在所有脚本引擎中,Lua脚本引擎是平均意义上最快的,所以如果目标待更新模块的业务有变动,只需要将更新的Lua插件文件加载到LuaView SDK架构中,则可以快速的给用户展示更新的页面,无需重启应用程序。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1为实现本发明各个实施例一个可选的终端的硬件结构示意图;
图2为如图1所示的终端的无线通信系统示意图;
图3为本发明第一实施例提供的一种应用程序的更新方法的基本流程图;
图4为本发明第一实施例提供的一种第一Lua插件文件zip压缩包的结构的示意图;
图5为本发明第一实施例提供的一种LuaView页面与原生页面无重叠区域的示意图;
图6为本发明第一实施例提供的一种原生页面嵌入到LuaView页面中的示意图;
图7为本发明第一实施例提供的一种待展现业务入口的示意图;
图8为本发明第一实施例提供的一种Lua脚本语言与原生组件的交互模式的示意图;
图9为本发明第一实施例提供的一种自定义Lua Button组件的示意图;
图10为本发明第一实施例提供的一种总体架构图;
图11为本发明第二实施例提供的一种终端的示意图。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。因此,"模块"与"部件"可以混合地使用。
终端可以以各种形式来实施。例如,本发明中描述的终端可以包括诸如手机、平板电脑、照相机、笔记本电脑、掌上电脑、个人数字助理(Personal Digital Assistant,PDA)、便捷式媒体播放器(Portable Media Player,PMP)、导航装置、可穿戴设备、智能手环、计步器等移动终端,以及诸如数字TV、台式计算机等固定终端,只要能实现通信功能即可。
本领域技术人员将理解的是,除了特别用于移动目的的元件之外,根据本发明的实施方式的构造也能够应用于固定类型的终端。
请参阅图1,其为实现本发明各个实施例一个可选的终端的硬件结构示意图,该终端100可以包括:RF(Radio Frequency,射频)单元101、WiFi模块102、音频输出单元103、A/V(音频/视频)输入单元104、传感器105、显示单元106、用户输入单元107、接口单元108、存储器109以及处理器110等部件。本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,终端可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图1对终端的各个部件进行具体的介绍:
射频单元101可用于收发信息或通话过程中,信号的接收和发送,具体的,将基站的下行信息接收后,给处理器110处理;另外,将上行的数据发送给基站。通常,射频单元101包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元101还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA1000(CodeDivision Multiple Access 1000,码分多址1000)、WCDMA(Wideband Code DivisionMultiple Access,宽带码分多址)、TD-SCDMA(Time Division-Synchronous CodeDivision Multiple Access,时分同步码分多址)、FDD-LTE(Frequency DivisionDuplexing-Long Term Evolution,频分双工长期演进)和TDD-LTE(Time DivisionDuplexing-Long Term Evolution,分时双工长期演进)等。
WiFi属于短距离无线传输技术,终端通过WiFi模块102可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。
音频输出单元103可以在终端100处于呼叫信号接收模式、通话模式、记录模式、语音识别模式、广播接收模式等等模式下时,将射频单元101或WiFi模块102接收的或者在存储器109中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元103还可以提供与终端100执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元103可以包括扬声器、蜂鸣器等等。
A/V输入单元104用于接收音频或视频信号。A/V输入单元104可以包括图形处理器(Graphics Processing Unit,GPU)1041和麦克风1042,图形处理器1041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元106上。经图形处理器1041处理后的图像帧可以存储在存储器109(或其它存储介质)中或者经由射频单元101或WiFi模块102进行发送。麦克风1042可以在电话通话模式、记录模式、语音识别模式等等运行模式中经由麦克风1042接收声音(音频数据),并且能够将这样的声音处理为音频数据。处理后的音频(语音)数据可以在电话通话模式的情况下转换为可经由射频单元101发送到移动通信基站的格式输出。麦克风1042可以实施各种类型的噪声消除(或抑制)算法以消除(或抑制)在接收和发送音频信号的过程中产生的噪声或者干扰。
终端100还包括至少一种传感器105,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1061的亮度,接近传感器可在终端100移动到耳边时,关闭显示面板1061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
显示单元106用于显示由用户输入的信息或提供给用户的信息。显示单元106可包括显示面板1061,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板1061。
用户输入单元107可用于接收输入的数字或字符信息,以及产生与终端100的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元107可包括触控面板1071以及其他输入设备1072。触控面板1071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1071上或在触控面板1071附近的操作),并根据预先设定的程式驱动相应的连接装置。触控面板1071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器110,并能接收处理器110发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1071。除了触控面板1071,用户输入单元107还可以包括其他输入设备1072。具体地,其他输入设备1072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种,具体此处不做限定。
进一步的,触控面板1071可覆盖显示面板1061,当触控面板1071检测到在其上或附近的触摸操作后,传送给处理器110以确定触摸事件的类型,随后处理器110根据触摸事件的类型在显示面板1061上提供相应的视觉输出。虽然在图1中,触控面板1071与显示面板1061是作为两个独立的部件来实现移动终端的输入和输出功能,但是在某些实施例中,可以将触控面板1071与显示面板1061集成而实现终端的输入和输出功能,具体此处不做限定。
接口单元108用作至少一个外部装置与终端100连接可以通过的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。接口单元108可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到终端100内的一个或多个元件或者可以用于在终端100和外部装置之间传输数据。
存储器109可用于存储软件程序以及各种数据。存储器109可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器109可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器110是终端100的控制中心,利用各种接口和线路连接整个终端100的各个部分,通过运行或执行存储在存储器109内的软件程序和/或模块,以及调用存储在存储器109内的数据,执行终端100的各种功能和处理数据,从而对终端100进行整体监控。处理器110可包括一个或多个处理单元;优选的,处理器110可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器110中。
尽管图1未示出,终端100还可以包括蓝牙模块等,在此不再赘述。
为了便于理解本发明实施例,下面对本发明的终端所基于的通信网络系统进行描述。
请参阅图2,图2为本发明实施例提供的一种通信网络系统架构图,该通信网络系统为通用移动通信技术的LTE系统,该LTE系统包括依次通讯连接的UE(User Equipment,用户设备)201,E-UTRAN(Evolved UMTS Terrestrial Radio Access Network,演进式UMTS陆地无线接入网)202,EPC(Evolved Packet Core,演进式分组核心网)203和运营商的IP业务204。
具体地,UE201可以是上述终端100,此处不再赘述。
E-UTRAN202包括eNodeB2021和其它eNodeB2022等。其中,eNodeB2021可以通过回程(backhaul)(例如X2接口)与其它eNodeB2022连接,eNodeB2021连接到EPC203,eNodeB2021可以提供UE201到EPC203的接入。
EPC203可以包括MME(Mobility Management Entity,移动性管理实体)2031,HSS(Home Subscriber Server,归属用户服务器)2032,其它MME2033,SGW(Serving Gate Way,服务网关)2034,PGW(PDN Gate Way,分组数据网络网关)2035和PCRF(Policy andCharging Rules Function,政策和资费功能实体)2036等。其中,MME2031是处理UE201和EPC203之间信令的控制节点,提供承载和连接管理。HSS2032用于提供一些寄存器来管理诸如归属位置寄存器(图中未示)之类的功能,并且保存有一些有关服务特征、数据速率等用户专用的信息。所有用户数据都可以通过SGW2034进行发送,PGW2035可以提供UE 201的IP地址分配以及其它功能,PCRF2036是业务数据流和IP承载资源的策略与计费控制策略决策点,它为策略与计费执行功能单元(图中未示)选择及提供可用的策略和计费控制决策。
IP业务204可以包括因特网、内联网、IMS(IP Multimedia Subsystem,IP多媒体子系统)或其它IP业务等。
虽然上述以LTE系统为例进行了介绍,但本领域技术人员应当知晓,本发明不仅仅适用于LTE系统,也可以适用于其他无线通信系统,例如GSM、CDMA2000、WCDMA、TD-SCDMA以及未来新的网络系统等,此处不做限定。
基于上述终端硬件结构以及通信网络系统,提出本发明方法各个实施例。
第一实施例
为了解决现有技术中,App中待更新模块的信息频繁变动时,用户需要频繁下载更新版本,或者当待更新模块以HTML5和javascript实现时,待更新模块在WebView控件中运行,WebView的单线程渲染特点,性能比较差,用户体验差的问题,本实施例将提供一种应用程序的更新方法,参见图3,图3为本实施例提供的一种应用程序的更新方法的基本流程图,该应用程序的更新方法包括以下步骤:
S301:确定目标应用程序的目标待更新模块;
目标应用程序可以是安装在终端中的,终端包括智能手机、平板电脑等。
可选的,目标待更新模块包括动态模块等,其中,App的动态模块的显示信息会频繁变动。
目标应用程序的动态模块的个数大于等于1;
S301的步骤可以由终端中目标应用程序的客户端来执行,也即,由终端中目标应用程序的客户端确定出目标应用程序的目标待更新模块。
S302:获取目标待更新模块的第一Lua插件文件;
目标待更新模块的第一Lua插件文件是目标应用程序目标待更新模块页面的目标显示版本的第一Lua插件文件;
第一Lua插件文件是根据目标待更新模块页面的目标显示版本进行制作的。
目标应用程序的动态模块的显示信息会频繁变动,以目标应用程序为某电商的App、目标待更新模块为动态模块为例,目前正值新年之际,该App中,某一动态模块的显示信息显示在搞新年活动,当新年过了之后,需要将该动态模块显示在搞新年活动的信息给撤掉,换成平常时段的显示信息,将平常时段的显示信息作为目标显示版本。
对于某些App,针对不同的用户,同一动态模块的显示信息也可能不同,例如,某个电商App的某一动态模块,对于用户A的终端,显示的内容为“深圳专享”,对于用户B的终端,显示的内容为“男人专享”。
可选的,S302获取目标待更新模块的第一Lua插件文件包括:
从服务器获取目标待更新模块的第一Lua插件文件的校验码,并跟本地预存的第一Lua插件文件的校验码进行比较;
在服务器侧和目标应用程序客户端侧分别保存有此第一Lua插件文件的校验码;
若比较结果一致,则从本地存储空间获取本地的目标待更新模块的第一Lua插件文件;
若比较结果一致,则表明本地存储空间中存储的第一Lua插件文件为目标待更新模块的最新版本的第一Lua插件文件,则可以直接从本地存储空间中获取目标待更新模块的最新版本的第一Lua插件文件;
若比较结果不一致,则从服务器获取目标待更新模块所需版本的第一Lua插件文件以及对应的校验码,并进行保存;
通常情况下,更新应用程序都是用最新版本的更新包进行更新,所以在本实施例中,若比较结果不一致,则可以表明本地存储空间中存储的第一Lua插件文件不是目标待更新模块最新版本的第一Lua插件文件,也表明不是目标待更新模块所需版本的Lua插件文件,则需要从服务器下载最新版本的第一Lua插件文件以及对应的校验码,并保存到本地存储空间,也即是从服务器下载的是目标待更新模块所需版本的Lua插件文件以及对应的校验码;从服务器下载的最新版本的第一Lua插件文件对应的校验码,保存到本地存储空间时,是将本地数据库中存储的旧的校验码替换为新的校验码。
为了保证获取到的目标待更新模块的第一Lua插件文件的正确性,也即是为了保证获取到的目标待更新模块的第一Lua插件文件的是最新版本的,可以在获取的过程中便对目标待更新模块的第一Lua插件文件的正确性进行校验,校验的方式可以是通过上述的校验码来实现。
本实施例中对校验码的形式不作限定,例如校验码可以为MD5值、也可以是另外能实现第一Lua插件文件的唯一身份校验的。
可选的,S302获取目标待更新模块的第一Lua插件文件包括:
获取目标待更新模块的第一Lua插件文件的压缩包;
对压缩包进行解压,得到第一Lua插件文件。
压缩包的格式在本实施例中不做限制,可以是zip格式的、也可以是rar格式等。
以校验码为MD5值、压缩包的格式为zip格式为例,从服务器获取到目标待更新模块之第一Lua插件文件zip压缩包的MD5值(记为第一MD5值)之后,判断第一MD5值与存储在目标应用程序客户端本地的MD5值(记为第二MD5值)是否相同;若第一MD5值与第二MD5值相同,则从本地存储空间获取本地的目标待更新模块的第一Lua插件文件zip压缩包;若第一MD5值与第二MD5值不相同,则从服务器获取目标待更新模块最新版本的第一Lua插件文件zip压缩包及其对应的MD5值(记为第三MD5值);将本地数据库中的第二MD5值替换为第三MD5值,并解压最新版本的第一Lua插件文件zip压缩包至指定文件夹,并将旧的Lua插件文件替换为最新版本的Lua插件文件。
其中,从服务器获取此第一Lua插件文件zip压缩包以及服务器侧存储的此Lua第一Lua插件文件zip压缩包的MD5值,此第一Lua插件文件zip压缩包的结构可以参见图4,图4为本实施例提供的一种第一Lua插件文件zip压缩包的结构的示意图;其中,version.txt是此第一Lua插件文件zip压缩包的版本描述信息。
可选的,服务器端提供第一Lua插件文件压缩包的获取接口,以Android操作系统的终端为例,从服务器获取第一Lua插件文件压缩包时,是由终端的目标应用程序客户端向服务器端发送目标应用程序压缩包名、版本号、Android版本、ROM版本、设备ID、插件名称等信息,服务器端在接收到这些信息之后,向客户端侧发送符合这些信息的第一Lua插件文件压缩包。
可选的,服务器端提供MD5值的获取接口,以Android操作系统的终端为例,从服务器获取此第一Lua插件文件zip压缩包的MD5值时,也是由终端的目标应用程序客户端向服务器端发送目标应用程序压缩包名、版本号、Android版本、ROM版本、设备ID、插件名称等信息,服务器端在接收到这些信息之后,向客户端侧发送符合这些信息的第一Lua插件文件压缩包的MD5值。
可选的,将Lua插件文件及其对应的MD5值分别单独下发,客户端获得Lua插件文件后比对其MD5值,从内容角度验证其有效性。
可选的,在S302获取目标待更新模块的Lua插件文件之前,还包括以下步骤:
通过Lua打包工具生成Lua插件文件;
并将生成的Lua插件文件上传到服务器中进行存储,以供后续目标应用程序客户端需要下载Lua插件文件时,能够从服务器下载到。
S303:将Lua插件文件加载到LuaView SDK架构中;
LuaView SDK的架构可以表示为五层;
自下而上第一、二层依次是OS层和Framework层,分别表示了Android(安卓)、iOS(苹果公司的移动操作系统)以及对应的框架层;
紧接着是Lua虚拟机(Lua引擎),在Android、iOS平台分别是LuaJ和LuaC,两个虚拟机都是目前两个语言中用的最广泛,最稳定的虚拟机;
处在第三层的还有脚本管理模块以及安全控制模块,它们分别负责Lua本地脚本管理(包括脚本的解包、验证、加解密、解压缩等工作)和Lua脚本的安全校验工作(脚本完整性校验以及脚本安全校验等);
处在第四层的是LuaView的核心Lib库,包括两部分,一部分是Lua UI Lib,主要是所有的UI组件(如Button、Label、Image、TableView等);一部分是Lua Non-UI Lib,主要是所有非UI组件(如Http、Json、Audio等);
处在最上层的是Lua业务脚本代码以及Lua层的Lib库(方便第三方使用的Lua写的Lib库)。
可选的,在S303将第一Lua插件文件加载到LuaView SDK架构中之前,还包括以下步骤:对第一Lua插件文件进行签名验证机制的验证;若验证通过,则进入S303将第一Lua插件文件加载到LuaView SDK架构中的步骤,保证第一Lua插件文件的有效性。
S304:通过LuaView SDK架构对Lua插件文件进行解释执行,并生成Lua插件文件对应的目标组件;
在将Lua插件文件加载到LuaView SDK架构中之后,由LuaView SDK架构对Lua插件文件进行解释执行,并生成Lua插件文件对应的目标组件;
S305:当启动目标待更新模块时,根据目标组件绘制页面。
Lua插件文件是由Lua脚本语言编写的,绘制出来的页面中至少有LuaView页面。页面绘制好之后,目标应用程序客户端便将页面展示给用户看。
绘制的页面便是目标显示版本的页面。
可选的,目标组件包括LuaView组件以及原生组件;
S304-S305通过LuaView SDK架构对第一Lua插件文件进行解释执行,并生成第一Lua插件文件对应的目标组件;当启动目标待更新模块时,根据目标组件绘制页面包括:
通过LuaView SDK架构对第一Lua插件文件进行解释执行,并生成LuaView组件以及原生组件,并解析出LuaView组件以及原生组件的布局信息;当启动目标待更新模块时,根据LuaView组件绘制LuaView页面,根据原生组件绘制原生页面,并根据布局信息确定LuaView页面与原生页面的布局。
LuaView组件以及原生组件的布局信息可以反映出LuaView组件以及原生组件绘制成的页面之间的位置布局关系,例如,LuaView页面与原生页面无重叠区域,或者原生页面嵌入到LuaView页面中等,参见图5,图5为本实施例提供的一种LuaView页面与原生页面无重叠区域的示意图,图5中,从上到下依次是导航栏、LuaView页面、原生页面;图5中是部分动态化,LuaView可以作为独立的UI组件,嵌入到任何视图树中,对于页面已经开发完成,但某块成熟业务中某些内容需要动态化的时候,适合此种场景。
参见图6,图6为本实施例提供的一种原生页面嵌入到LuaView页面中的示意图。LuaView中嵌入Native原生组件,将一个应用程序原有的Native原生UI组件作为子UI嵌入到LuaView中,实现已有组件在LuaView中的重用。
图5、图6的方案很好地适应了现有APP部分功能动态化以及在LuaView动态界面中重用现有组件等需求场景。
可选的,根据布局信息确定LuaView页面与原生页面的布局包括:根据布局信息确定LuaView页面与原生页面无重叠区域,或者根据布局信息确定原生页面嵌入到LuaView页面中。
可选的,LuaView组件至少包括待展现业务入口组件;
根据目标组件绘制页面至少包括:根据待展现业务入口组件,绘制待展现业务入口界面,待展现业务入口界面在LuaView页面中,待展现业务入口界面是为待展现业务预留的入口。
待展现业务入口组件是由动态Lua脚本语言定义的。
待展现业务例如可以为VR(Virtual Reality,虚拟现实)业务等,例如某一电商App预留一个VR业务入口界面,目前还不能实现VR业务的功能,预留此入口后,后续在VR业务的功能可以实现时,直接将VR业务接入该电商App,那么用户就可以通过VR来选择商品。
可选的,待展现业务是通过StubActivity从服务器获取待展现业务的第二Lua插件文件、并运行第二Lua插件文件实现的,StubActivity是在AndroidManifest.xml中预注册的,第二Lua插件文件的参数为统一资源定位符(URL,Uniform Resource Locator)地址。
参见图7,图7为本实施例提供的一种待展现业务入口的示意图,图7中,从上到下依次是导航栏、LuaView页面1、原生页面、LuaView页面2、Button,LuaView页面1中有如Button1、Button2这种打开已经存在的Native Activity页面的情况,可以记为LagacyActivity,也存在如LuaView页面2中Button3、Button4这种打开动态变化的Activity页面的情况;Button3、Button4是动态Lua脚本语言定义的待展现业务入口组件。
通过在AndroidManifest.xml中预注册的StubActivity,来实现未来可能出现的新业务(待展现业务)的展现,新业务以Lua插件文件的形式动态从服务器获取,可以是从服务器的脚本管理及资源数据分发服务处获取第二Lua插件文件,由脚本管理及资源数据分发服务下发第二Lua插件文件,插件的参数为URL地址。通过StubActivity获取并运行待展现业务的第二Lua插件文件(参数:插件URL)其中,StubActivity的启动模式为standard。
可选的,第一Lua插件文件是由Lua脚本语言编写的;
通过LuaView SDK架构对第一Lua插件文件进行解释执行,并生成LuaView组件以及原生组件,并解析出LuaView组件以及原生组件的布局信息;当启动目标待更新模块时,根据LuaView组件绘制LuaView页面,根据原生组件绘制原生页面,并根据布局信息确定LuaView页面与原生页面的布局的过程中,Lua脚本语言与原生组件的交互模式包括:
Lua脚本语言中的数据属性值以获取属性或设置属性(get/set properties callmethods)的方式、通过userdata(用户数据)提供给原生组件,原生组件将处理后的数据以回掉(call back)方式、通过userdata返回给Lua脚本语言。
参见图8,图8为本实施例提供的一种Lua脚本语言与原生组件的交互模式的示意图,图8中的虚线代表Android语言和Lua语言的分界线,原生组件包括UI组件、业务组件等。
本实施例还提供自定义UI组件,LuaView提供了扩展UI组件的能力,参见图9,图9为本实施例提供的一种自定义Lua Button组件的示意图,图9为一个自定义Lua Button组件的示例,粗线部分为需要实现的类。
参见图10,图10为本实施例提供的一种总体架构图;
图10中,将第一Lua插件文件、资源文件、version.txt打包压缩成Lua插件文件压缩包(zip)之后,上传到服务器中,由服务器进行脚本管理及分发服务;
其中,第一Lua插件文件包括Lua脚本语言的文件等,资源文件包括显示界面需显示的图片等,version.txt是此Lua插件文件的版本描述信息。
目标应用程序客户端向服务器发送获取请求,获取请求携带目标应用程序压缩包名、版本号、Android版本、ROM版本、设备ID、插件名称等信息;服务器根据获取请求向目标应用程序客户端下发Lua插件文件压缩包,Lua插件文件压缩包中即包括了上述的第一Lua插件文件中的Lua脚本及资源文件中的资源信息等;
目标应用程序客户端进行脚本与资源管理,也即可以管理从服务器下载的Lua插件文件压缩包,包括脚本版本管理、有效性验证、缓存管理、脚本存储等;将服务器下发的Lua插件文件压缩包加载到LuaView SDK架构中,由LuaView SDK架构的Lua运行管理(LuaView容器、或StubActivity)进行处理,Lua运行管理运行Lua插件文件压缩包;N:1中的N是指有N个Lua插件文件压缩包、便绘制N个页面,1是指1个LuaView容器,通过1个LuaView容器便可以绘制N个Lua插件文件压缩包的N个页面,其中,N是大于等于1的正整数。
在绘制的过程中,会使用到LuaJ引擎(LuaJ引擎是针对Android操作系统而言的)、LuaView UI组件(含扩展)、LuaView业务组件(含扩展)。
Native业务模块会使用到LuaView业务组件(含扩展)。
LuaView业务组件(含扩展)可以从目标应用程序客户端的脚本与资源管理中获取。
业务服务器会对终端的目标应用程序客户端进行业务系统服务,Native业务模块与Lua插件分别会与业务服务器进行业务数据的交互。
通过本实施例的实施,当目标应用程序的目标待更新模块的显示信息有更新时,通过加载更新的Lua插件文件,便可对目标应用程序的目标待更新模块的显示信息进行更新,使得业务的动态修改成为可能,非常适合电商等需求变动大的产品开发;不需要升级应用程序也能实现目标待更新模块的显示信息的更新,提升了用户体验,同时还解决了使用HTML5和javascript带来的用户体验不好的问题;本实施例的方案是一种有原生体验的,能够动态修改业务需求的混合编程方案。
且通过LuaView SDK架构对Lua插件文件进行解释执行,生成Lua插件文件对应的目标组件,并根据目标组件绘制页面,使得绘制的页面具有原生的用户体验。
同时LuaView SDK架构的Lua脚本引擎非常小,启动非常迅速,在所有脚本引擎中,Lua脚本引擎是平均意义上最快的,所以如果目标待更新模块的业务有变动,只需要将更新的Lua插件文件加载到LuaView SDK架构中,则可以快速的给用户展示更新的页面,更新变化是立刻生效的,无需重启应用程序。
Lua是动态语言,具有很强的动态能力,可以通过Lua脚本桥接所有Native的功能,有着与Native一样强大的性能。
第二实施例
本实施例提供一种终端,终端例如手机、平板电脑等,参见图11,图11为本实施例提供的一种终端的示意图,该终端包括处理器1101、存储器1102及通信总线1103,其中:
通信总线1103用于实现处理器1101和存储器1102之间的连接通信;
处理器1101用于执行存储器1102中存储的一个或多个程序,以实现第一实施例中应用程序的更新方法的步骤。
通过本实施例的实施,当目标应用程序的目标待更新模块的显示信息有更新时,通过加载更新的Lua插件文件,便可对目标应用程序的目标待更新模块的显示信息进行更新,使得业务的动态修改成为可能,非常适合电商等需求变动大的产品开发;不需要升级应用程序也能实现目标待更新模块的显示信息的更新,提升了用户体验,同时还解决了使用HTML5和javascript带来的用户体验不好的问题;本实施例的方案是一种有原生体验的,能够动态修改业务需求的混合编程方案。
且通过LuaView SDK架构对Lua插件文件进行解释执行,生成Lua插件文件对应的目标组件,并根据目标组件绘制页面,使得绘制的页面具有原生的用户体验。
同时LuaView SDK架构的Lua脚本引擎非常小,启动非常迅速,在所有脚本引擎中,Lua脚本引擎是平均意义上最快的,所以如果目标待更新模块的业务有变动,只需要将更新的Lua插件文件加载到LuaView SDK架构中,则可以快速的给用户展示更新的页面,更新变化是立刻生效的,无需重启应用程序。
Lua是动态语言,具有很强的动态能力,可以通过Lua脚本桥接所有Native的功能,有着与Native一样强大的性能。
第三实施例
本实施例提供一种计算机可读存储介质,计算机可读存储介质存储有一个或者多个程序,一个或者多个程序可被一个或者多个处理器执行,以实现第一实施例中应用程序的更新方法的步骤。
通过本实施例的实施,当目标应用程序的目标待更新模块的显示信息有更新时,通过加载更新的Lua插件文件,便可对目标应用程序的目标待更新模块的显示信息进行更新,使得业务的动态修改成为可能,非常适合电商等需求变动大的产品开发;不需要升级应用程序也能实现目标待更新模块的显示信息的更新,提升了用户体验,同时还解决了使用HTML5和javascript带来的用户体验不好的问题;本实施例的方案是一种有原生体验的,能够动态修改业务需求的混合编程方案。
且通过LuaView SDK架构对Lua插件文件进行解释执行,生成Lua插件文件对应的目标组件,并根据目标组件绘制页面,使得绘制的页面具有原生的用户体验。
同时LuaView SDK架构的Lua脚本引擎非常小,启动非常迅速,在所有脚本引擎中,Lua脚本引擎是平均意义上最快的,所以如果目标待更新模块的业务有变动,只需要将更新的Lua插件文件加载到LuaView SDK架构中,则可以快速的给用户展示更新的页面,更新变化是立刻生效的,无需重启应用程序。
Lua是动态语言,具有很强的动态能力,可以通过Lua脚本桥接所有Native的功能,有着与Native一样强大的性能。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种应用程序的更新方法,其特征在于,所述应用程序的更新方法包括以下步骤:
确定目标应用程序的目标待更新模块;
获取所述目标待更新模块的第一Lua插件文件;
将所述第一Lua插件文件加载到LuaView SDK架构中;
通过所述LuaView SDK架构对所述第一Lua插件文件进行解释执行,生成所述第一Lua插件文件对应的目标组件;
当启动所述目标待更新模块时,根据所述目标组件绘制页面。
2.如权利要求1所述的应用程序的更新方法,其特征在于,所述目标组件包括LuaView组件以及原生组件;
所述通过所述LuaView SDK架构对所述第一Lua插件文件进行解释执行,生成所述第一Lua插件文件对应的目标组件;当启动所述目标待更新模块时,根据所述目标组件绘制页面包括:
通过所述LuaView SDK架构对所述第一Lua插件文件进行解释执行,生成所述LuaView组件以及原生组件,并解析出所述LuaView组件以及原生组件的布局信息;当启动所述目标待更新模块时,根据所述LuaView组件绘制LuaView页面,根据所述原生组件绘制原生页面,并根据所述布局信息确定所述LuaView页面与所述原生页面的布局。
3.如权利要求2所述的应用程序的更新方法,其特征在于,所述根据所述布局信息确定所述LuaView页面与所述原生页面的布局包括:根据所述布局信息确定所述LuaView页面与所述原生页面无重叠区域,或者根据所述布局信息确定所述原生页面嵌入到所述LuaView页面中。
4.如权利要求2或3所述的应用程序的更新方法,其特征在于,所述LuaView组件至少包括待展现业务入口组件;
所述根据所述目标组件绘制页面至少包括:根据所述待展现业务入口组件,绘制所述待展现业务入口界面,所述待展现业务入口界面在所述LuaView页面中,所述待展现业务入口界面是为待展现业务预留的入口。
5.如权利要求4所述的应用程序的更新方法,其特征在于,所述待展现业务是通过StubActivity从服务器获取所述待展现业务的第二Lua插件文件、并运行所述第二Lua插件文件实现的,所述StubActivity是在AndroidManifest.xml中预注册的,所述第二Lua插件文件的参数为统一资源定位符地址。
6.如权利要求2或3所述的应用程序的更新方法,其特征在于,所述第一Lua插件文件是由Lua脚本语言编写的;
所述通过所述LuaView SDK架构对所述第一Lua插件文件进行解释执行,生成所述LuaView组件以及原生组件,并解析出所述LuaView组件以及原生组件的布局信息;当启动所述目标待更新模块时,根据所述LuaView组件绘制LuaView页面,根据所述原生组件绘制原生页面,并根据所述布局信息确定所述LuaView页面与所述原生页面的布局的过程中,所述Lua脚本语言与所述原生组件的交互模式包括:
所述Lua脚本语言中的数据属性值以获取属性或设置属性的方式、通过userdata提供给所述原生组件,所述原生组件将处理后的数据以回掉方式、通过userdata返回给所述Lua脚本语言。
7.如权利要求1至3任一项所述的应用程序的更新方法,其特征在于,所述获取所述目标待更新模块的第一Lua插件文件包括:
从服务器获取所述目标待更新模块的第一Lua插件文件的校验码,并跟本地预存的所述第一Lua插件文件的校验码进行比较;
若比较结果一致,则从本地存储空间获取本地的所述目标待更新模块的第一Lua插件文件;
若比较结果不一致,则从所述服务器获取所述目标待更新模块所需版本的第一Lua插件文件以及对应的校验码,并进行保存。
8.如权利要求1至3任一项所述的应用程序的更新方法,其特征在于,在所述将所述第一Lua插件文件加载到LuaView SDK架构中之前,还包括以下步骤:对所述第一Lua插件文件进行签名验证机制的验证;若验证通过,则进入所述将所述第一Lua插件文件加载到LuaView SDK架构中的步骤。
9.一种终端,其特征在于,所述终端包括处理器、存储器及通信总线;
所述通信总线用于实现所述处理器和所述存储器之间的连接通信;
所述处理器用于执行所述存储器中存储的一个或者多个程序,以实现如权利要求1至8任一项所述的应用程序的更新方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1至8中任一项所述的应用程序的更新方法的步骤。
CN201810088751.1A 2018-01-30 2018-01-30 一种应用程序的更新方法、终端及计算机可读存储介质 Pending CN108304205A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810088751.1A CN108304205A (zh) 2018-01-30 2018-01-30 一种应用程序的更新方法、终端及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810088751.1A CN108304205A (zh) 2018-01-30 2018-01-30 一种应用程序的更新方法、终端及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN108304205A true CN108304205A (zh) 2018-07-20

Family

ID=62867263

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810088751.1A Pending CN108304205A (zh) 2018-01-30 2018-01-30 一种应用程序的更新方法、终端及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN108304205A (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109947317A (zh) * 2019-03-11 2019-06-28 北京字节跳动网络技术有限公司 应用程序页面显示方法和装置
CN110389754A (zh) * 2019-06-18 2019-10-29 北京奇艺世纪科技有限公司 业务处理方法、系统、服务器、终端、电子设备及存储介质
CN110597581A (zh) * 2019-08-02 2019-12-20 北京奇艺世纪科技有限公司 动态ui系统对外交互方法、装置、电子设备及存储介质
CN110874226A (zh) * 2018-08-29 2020-03-10 山东华软金盾软件股份有限公司 一种android系统功能升级的方法
CN111367518A (zh) * 2018-12-26 2020-07-03 北京奇虎科技有限公司 页面布局方法、装置、计算设备及计算机存储介质
CN112486539A (zh) * 2020-12-09 2021-03-12 税友软件集团股份有限公司 一种应用更新方法、装置、设备及存储介质
CN112631638A (zh) * 2020-12-16 2021-04-09 青岛海尔科技有限公司 终端应用更新方法、装置、存储介质及电子设备
CN112947954A (zh) * 2019-12-11 2021-06-11 北京中关村科金技术有限公司 一种界面更新方法、装置和存储介质
CN113238785A (zh) * 2021-06-18 2021-08-10 腾讯科技(深圳)有限公司 一种应用程序的更新方法、相关装置、设备以及存储介质
CN113259320A (zh) * 2021-04-12 2021-08-13 顶象科技有限公司 验证方式动态安装方法、系统、电子装置和存储介质
CN114416245A (zh) * 2021-12-31 2022-04-29 北京数秦科技有限公司 对用户界面进行更新的方法、装置以及存储介质
CN115097905A (zh) * 2022-08-25 2022-09-23 中关村科学城城市大脑股份有限公司 模块可拆卸的终端设备和模块应用安装方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103353845A (zh) * 2013-06-28 2013-10-16 贵阳朗玛信息技术股份有限公司 脚本加载、推送方法及装置
CN104111855A (zh) * 2014-07-29 2014-10-22 广东能龙教育股份有限公司 一种基于Lua的iOS客户端功能动态更新的方法
CN105354013A (zh) * 2014-08-18 2016-02-24 阿里巴巴集团控股有限公司 应用界面渲染方法及装置
CN107480153A (zh) * 2016-06-08 2017-12-15 阿里巴巴集团控股有限公司 一种页面数据处理方法、客户端及终端设备
KR20180007483A (ko) * 2016-07-13 2018-01-23 (주)누리봄 단말 Native UI를 사용하는 동적 UI 배포 시스템 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103353845A (zh) * 2013-06-28 2013-10-16 贵阳朗玛信息技术股份有限公司 脚本加载、推送方法及装置
CN104111855A (zh) * 2014-07-29 2014-10-22 广东能龙教育股份有限公司 一种基于Lua的iOS客户端功能动态更新的方法
CN105354013A (zh) * 2014-08-18 2016-02-24 阿里巴巴集团控股有限公司 应用界面渲染方法及装置
CN107480153A (zh) * 2016-06-08 2017-12-15 阿里巴巴集团控股有限公司 一种页面数据处理方法、客户端及终端设备
KR20180007483A (ko) * 2016-07-13 2018-01-23 (주)누리봄 단말 Native UI를 사용하는 동적 UI 배포 시스템 및 방법

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
FMDN: ""利用Lua实现App动态化方案"", 《HTTPS://WWW.CNBLOGS.COM/FENGMIN/P/5599533.HTML》 *
ZYL06: ""Android LuaView探索"", 《HTTPS://WWW.JIANSHU.COM/P/C2EB0DB7CEA9》 *
朴诚,城西等: ""LuaView:基于Lua的移动端跨平台动态化方案"", 《HTTPS://MP.WEIXIN.QQ.COM/S?__BIZ=MZUXMZCXMZE5NG==&MID=2247488440&IDX=1&SN=ECF64EFA2D7F81EC60BB324082EFF77B&SOURCE=%E2%80%A6》 *

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110874226B (zh) * 2018-08-29 2023-05-02 山东华软金盾软件股份有限公司 一种android系统功能升级的方法
CN110874226A (zh) * 2018-08-29 2020-03-10 山东华软金盾软件股份有限公司 一种android系统功能升级的方法
CN111367518A (zh) * 2018-12-26 2020-07-03 北京奇虎科技有限公司 页面布局方法、装置、计算设备及计算机存储介质
CN111367518B (zh) * 2018-12-26 2024-04-05 三六零科技集团有限公司 页面布局方法、装置、计算设备及计算机存储介质
CN109947317A (zh) * 2019-03-11 2019-06-28 北京字节跳动网络技术有限公司 应用程序页面显示方法和装置
CN110389754A (zh) * 2019-06-18 2019-10-29 北京奇艺世纪科技有限公司 业务处理方法、系统、服务器、终端、电子设备及存储介质
CN110389754B (zh) * 2019-06-18 2023-12-15 北京奇艺世纪科技有限公司 业务处理方法、系统、服务器、终端、电子设备及存储介质
CN110597581A (zh) * 2019-08-02 2019-12-20 北京奇艺世纪科技有限公司 动态ui系统对外交互方法、装置、电子设备及存储介质
CN112947954A (zh) * 2019-12-11 2021-06-11 北京中关村科金技术有限公司 一种界面更新方法、装置和存储介质
CN112486539B (zh) * 2020-12-09 2023-08-08 税友软件集团股份有限公司 一种应用更新方法、装置、设备及存储介质
CN112486539A (zh) * 2020-12-09 2021-03-12 税友软件集团股份有限公司 一种应用更新方法、装置、设备及存储介质
CN112631638B (zh) * 2020-12-16 2023-06-09 青岛海尔科技有限公司 终端应用更新方法、装置、存储介质及电子设备
CN112631638A (zh) * 2020-12-16 2021-04-09 青岛海尔科技有限公司 终端应用更新方法、装置、存储介质及电子设备
CN113259320A (zh) * 2021-04-12 2021-08-13 顶象科技有限公司 验证方式动态安装方法、系统、电子装置和存储介质
CN113238785A (zh) * 2021-06-18 2021-08-10 腾讯科技(深圳)有限公司 一种应用程序的更新方法、相关装置、设备以及存储介质
CN113238785B (zh) * 2021-06-18 2023-10-20 腾讯科技(深圳)有限公司 一种应用程序的更新方法、相关装置、设备以及存储介质
CN114416245A (zh) * 2021-12-31 2022-04-29 北京数秦科技有限公司 对用户界面进行更新的方法、装置以及存储介质
CN114416245B (zh) * 2021-12-31 2024-03-22 北京数秦科技有限公司 对用户界面进行更新的方法、装置以及存储介质
CN115097905A (zh) * 2022-08-25 2022-09-23 中关村科学城城市大脑股份有限公司 模块可拆卸的终端设备和模块应用安装方法
CN115097905B (zh) * 2022-08-25 2022-12-02 中关村科学城城市大脑股份有限公司 模块可拆卸的终端设备和模块应用安装方法

Similar Documents

Publication Publication Date Title
CN108304205A (zh) 一种应用程序的更新方法、终端及计算机可读存储介质
CN108399074A (zh) 一种应用程序的更新方法、终端及计算机可读存储介质
CN107291497A (zh) 多固件升级方法、系统及可读存储介质
CN107885825A (zh) 一种应用页面分享方法及移动终端
CN111580879A (zh) 小程序的运行方法、装置、电子设备及计算机存储介质
CN110502245A (zh) 数据处理方法、终端、服务器以及应用开发设备
CN107967322A (zh) 文件分类显示方法、移动终端及计算机可读存储介质
CN107704356A (zh) 异常堆栈信息获取方法、装置及计算机可读存储介质
CN108595203A (zh) 应用功能执行方法、移动终端和计算机可读存储介质
CN107220050A (zh) 自适应显示方法、终端及计算机可读存储介质
CN107977272A (zh) 应用运行的方法及装置
CN108228230A (zh) Ufs固件的升级方法、终端及计算机可读存储介质
CN108153778A (zh) 网页保存方法、网页读取方法及装置
CN108089977A (zh) 一种应用程序的异常处理方法、装置及移动终端
CN107749919A (zh) 一种应用程序页面显示方法及设备
CN107528825A (zh) 一种资源下载方法、终端及计算机可读存储介质
CN109922078A (zh) 升级控制方法、移动终端及计算机可读存储介质
CN108549826A (zh) 应用程序的校验方法、终端、服务器及可读存储介质
CN108833690A (zh) 权限管控方法、终端及计算机可读存储介质
CN110035181A (zh) 一种快应用卡片主题设置方法及终端
CN113313804A (zh) 一种图像渲染方法、装置、电子设备和存储介质
CN109271779A (zh) 一种安装包检测方法、终端设备及服务器
CN108182090B (zh) 基于blink内核的Flash插件加载方法及装置
CN107818022A (zh) 应用程序接口合并方法、移动终端及计算机可读存储介质
CN107608707A (zh) 具有热修复功能之应用检测方法、终端及可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20180720

RJ01 Rejection of invention patent application after publication