CN113238785A - 一种应用程序的更新方法、相关装置、设备以及存储介质 - Google Patents
一种应用程序的更新方法、相关装置、设备以及存储介质 Download PDFInfo
- Publication number
- CN113238785A CN113238785A CN202110679692.7A CN202110679692A CN113238785A CN 113238785 A CN113238785 A CN 113238785A CN 202110679692 A CN202110679692 A CN 202110679692A CN 113238785 A CN113238785 A CN 113238785A
- Authority
- CN
- China
- Prior art keywords
- script
- target
- server
- lua script
- lua
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45508—Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
- G06F9/45512—Command shells
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种应用程序的更新方法,包括:通过第一应用程序向服务器发送脚本更新请求;通过第一应用程序接收服务器发送的目标下载地址,目标下载地址为目标Lua脚本的下载地址,目标Lua脚本为用于更新第二应用程序的Lua脚本;根据目标下载地址下载目标Lua脚本,其中,目标Lua脚本存储于第一终端设备的指定目录中;从指定目录中读取目标Lua脚本,并通过第二应用程序执行目标Lua脚本。本申请还公开了相关装置、设备以及存储介质。本申请在更新应用的时候无需重新对代码进行编译、打包和安装,一方面可以节省应用更新的耗时,另一方面,能够仅在移动端上进行应用功能的更新,不会影响其他用户的正常使用。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种应用程序的更新方法、相关装置、设备以及存储介质。
背景技术
随着网络的普及以及不断发展,移动端应用(例如,手游应用、社交应用以及视频应用等)也得到迅速发展。其中,移动端包含但不仅限于手持便携式设备(例如,手机)。在移动端应用发布之后,如何及时发现和解决应用运营过程中出现的问题,是运营企业着重关心的问题。
解决网络应用运营过程中出现的问题的有效手段为进行移动端应用更新。目前,大多数情况下开发人员可以在电脑编辑模式下验证应用功能,但这只是开发人员的初步验证,如果进行进一步验证,则移动端需要下载应用安装包,再进行安装和运行。
然而,在更新应用功能时,首先需要修改应用的代码,然后重新进行编译,再将应用中的所有资源打包发布,以生成新的应用安装包。如果应用安装包较大,那么会造成移动端下载量大,导致应用更新的耗时较长。
发明内容
本申请实施例提供了一种应用程序的更新方法、相关装置、设备以及存储介质,在更新应用的时候无需重新对代码进行编译、打包和安装,一方面可以节省应用更新的耗时,另一方面,能够仅在移动端上进行应用功能的更新,不会影响其他用户的正常使用,从而支持开发人员灵活调整Lua脚本的内容,以达到应用功能测试的目的。
有鉴于此,本申请一方面提供一种应用程序的更新方法,包括:
通过第一应用程序向服务器发送脚本更新请求,其中,脚本更新请求用于请求服务器获取目标下载地址,其中,脚本更新请求携带有目标脚本标识;
通过第一应用程序接收服务器发送的目标下载地址,其中,目标下载地址为目标Lua脚本的下载地址,目标Lua脚本为用于更新第二应用程序的Lua脚本;
根据目标下载地址下载目标Lua脚本,其中,目标Lua脚本存储于第一终端设备的指定目录中;
从指定目录中读取目标Lua脚本,并通过第二应用程序执行目标Lua脚本。
本申请另一方面提供一种应用程序的更新方法,包括:
接收第一终端设备通过第一应用程序发送的脚本更新请求,其中,脚本更新请求携带有目标脚本标识;
根据脚本更新请求确定目标下载地址,其中,目标下载地址为目标Lua脚本的下载地址,目标Lua脚本为用于更新第二应用程序的Lua脚本;
向第一终端设备发送目标下载地址,以使第一终端设备根据目标下载地址下载目标Lua脚本,并从指定目录中读取目标Lua脚本,通过第二应用程序执行目标Lua脚本,其中,目标Lua脚本存储于第一终端设备的指定目录中。
本申请另一方面提供一种应用程序更新装置,包括:
发送模块,用于通过第一应用程序向服务器发送脚本更新请求,其中,脚本更新请求用于请求服务器获取目标下载地址,其中,脚本更新请求携带有目标脚本标识;
接收模块,用于通过第一应用程序接收服务器发送的目标下载地址,其中,目标下载地址为目标Lua脚本的下载地址,目标Lua脚本为用于更新第二应用程序的Lua脚本;
下载模块,用于根据目标下载地址下载目标Lua脚本,其中,目标Lua脚本存储于第一终端设备的指定目录中;
更新模块,用于从指定目录中读取目标Lua脚本,并通过第二应用程序执行目标Lua脚本。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,应用程序更新装置还包括显示模块、获取模块以及开启模块;
显示模块,用于在发送模块通过第一应用程序向服务器发送脚本更新请求之前,显示第一应用程序的应用界面,其中,应用界面包括脚本标识输入区域、版本号输入区域以及预发布控件;
获取模块,用于通过脚本标识输入区域获取目标脚本标识;
获取模块,还用于通过版本号输入区域获取目标服务器版本号;
发送模块,具体用于响应针对于预发布控件的选择指令,通过第一应用程序向服务器发送脚本更新请求,其中,脚本更新请求还携带有目标服务器版本号;
开启模块,用于通过第一应用程序开启第二应用程序,其中,第二应用程序对应于目标服务器版本号。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
显示模块,还用于若目标脚本标识与目标服务器版本号匹配失败,则通过第一应用程序的应用界面显示第一提示消息;
显示模块,还用于若目标脚本标识为无效脚本标识,则通过第一应用程序的应用界面显示第二提示消息;
显示模块,还用于若目标服务器版本号为无效服务器版本号,则通过第一应用程序的应用界面显示第三提示消息。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
显示模块,还用于若脚本标识输入区域已输入目标脚本标识,则通过第一应用程序的应用界面显示服务器版本号列表,其中,服务器版本号列表包括至少一个服务器版本号;
获取模块,具体用于响应针对于服务器版本号列表中目标服务器版本号的选择指令,在版本号输入区域显示目标服务器版本号,其中,目标服务器版本号包含于服务器版本号列表。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
显示模块,还用于若版本号输入区域已输入目标服务器版本号,则通过第一应用程序的应用界面显示脚本标识列表,其中,脚本标识列表包括至少一个脚本标识;
获取模块,具体用于响应针对于脚本标识列表中目标脚本标识的选择指令,在脚本标识输入区域显示目标脚本标识,其中,目标脚本标识包含于脚本标识列表。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
更新模块,具体用于从指定目录中读取目标Lua脚本;
将原始Lua脚本与目标Lua脚本进行合并处理,得到已合并的Lua脚本;
通过第二应用程序执行已合并的Lua脚本。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,应用程序更新装置还包括解密模块以及存储模块;
解密模块,用于在下载模块根据目标下载地址下载目标Lua脚本之后,对目标Lua脚本进行解密处理,得到解密后的目标Lua脚本;
存储模块,用于将解密后的目标Lua脚本存储于第一终端设备的指定目录中;
更新模块,具体用于通过第二应用程序从指定目录中读取解密后的目标Lua脚本;
通过第二应用程序执行解密后的目标Lua脚本。
本申请另一方面提供一种应用程序更新装置,包括:
接收模块,用于接收第一终端设备通过第一应用程序发送的脚本更新请求,其中,脚本更新请求携带有目标脚本标识;
确定模块,用于根据脚本更新请求确定目标下载地址,其中,目标下载地址为目标Lua脚本的下载地址,目标Lua脚本为用于更新第二应用程序的Lua脚本;
更新模块,用于向第一终端设备发送目标下载地址,以使第一终端设备根据目标下载地址下载目标Lua脚本,并从指定目录中读取目标Lua脚本,通过第二应用程序执行目标Lua脚本,其中,目标Lua脚本存储于第一终端设备的指定目录中。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,应用程序更新装置还包括生成模块以及发送模块;
接收模块,还用于接收第一终端设备通过第一应用程序发送的脚本更新请求之前,接收第二终端设备发送的目标Lua脚本;
生成模块,用于根据目标Lua脚本生成目标脚本标识;
发送模块,用于向第二终端设备发送目标脚本标识,以使第二终端设备显示目标脚本标识。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
接收模块,还用于接收第二终端设备发送的目标Lua脚本之前,接收第二终端设备发送的第一脚本读取请求,其中,第一脚本读取请求携带有目标服务器标识以及目标服务器版本号,目标服务器标识用于指示目标内容分发网络CDN服务器,目标服务器版本号用于指示待更新Lua脚本;
发送模块,还用于向内网服务器发送第一脚本读取请求,以使内网服务器向目标CDN服务器发送第二脚本读取请求,其中,第二脚本读取请求用于请求目标CDN服务器向内网服务器发送待更新Lua脚本,且第二脚本读取请求携带有目标服务器版本号;
接收模块,还用于接收内网服务器发送的待更新Lua脚本;
发送模块,还用于向第二终端设备发送待更新Lua脚本,以使第二终端设备对待更新Lua脚本进行更新,得到目标Lua脚本。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,应用程序更新装置还包括确定模块;
发送模块,还用于在接收模块接收第二终端设备发送的目标Lua脚本之前,向内网服务器发送脚本同步请求,以使内网服务器向N个CDN服务器发送脚本同步请求,其中,脚本同步请求用于请求N个CDN服务器向内网服务器发送至少一个Lua脚本,N为大于或等于1的整数;
接收模块,还用于接收并存储内网服务器发送的至少一个Lua脚本,其中,每个Lua脚本对应于一个服务器版本号;
确定模块,用于当接收到第二终端设备发送的脚本读取请求时,根据脚本读取请求所包括的目标服务器版本号,从至少一个Lua脚本中确定待更新Lua脚本;
发送模块,还用于向第二终端设备发送待更新Lua脚本,以使第二终端设备对待更新Lua脚本进行更新,得到目标Lua脚本。
本申请另一方面提供一种计算机设备,包括:存储器、处理器以及总线系统;
其中,存储器用于存储程序;
处理器用于执行存储器中的程序,处理器用于根据程序代码中的指令执行上述各方面的方法;
总线系统用于连接存储器以及处理器,以使存储器以及处理器进行通信。
本申请另一方面提供一种终端设备,包括:存储器、处理器以及总线系统;
其中,存储器用于存储程序;
处理器用于执行存储器中的程序,处理器用于根据程序代码中的指令执行上述各方面的方法;
总线系统用于连接存储器以及处理器,以使存储器以及处理器进行通信。
本申请另一方面提供一种服务器,包括:存储器、处理器以及总线系统;
其中,存储器用于存储程序;
处理器用于执行存储器中的程序,处理器用于根据程序代码中的指令执行上述各方面的方法;
总线系统用于连接存储器以及处理器,以使存储器以及处理器进行通信。
本申请的另一方面提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面的方法。
本申请的另一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方面所提供的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例中,提供了一种应用程序的更新方法,首先由第一终端设备通过第一应用程序向服务器发送脚本更新请求,然后通过第一应用程序接收服务器发送的目标下载地址,于是第一终端设备根据目标下载地址下载目标Lua脚本,最后,第一终端设备可以从指定目录中读取目标Lua脚本,并通过第二应用程序执行目标Lua脚本。通过上述方式,在移动端上的第一应用程序可以将已经修改了应用功能的目标Lua脚本下载到本地,然后直接调用第二应用程序运行该目标Lua脚本即可测试更新后的应用功能。由于Lua脚本能够实现热更新,因此,在更新应用的时候无需重新对代码进行编译、打包和安装,一方面可以节省应用更新的耗时,另一方面,能够仅在移动端上进行应用功能的更新,不会影响其他用户的正常使用,从而支持开发人员灵活调整Lua脚本的内容,以达到应用功能测试的目的。
附图说明
图1为本申请实施例中C#代码与Lua脚本之间的一个对比示意图;
图2为本申请实施例中应用程序更新系统的一个环境示意图;
图3为本申请实施例中应用程序的更新方法的一个流程示意图;
图4为本申请实施例中第一应用程序的一个应用界面示意图;
图5为本申请实施例中显示第一提示消息的一个应用界面示意图;
图6为本申请实施例中显示第二提示消息的一个应用界面示意图;
图7为本申请实施例中显示第三提示消息的一个应用界面示意图;
图8为本申请实施例中显示脚本标识列表的一个应用界面示意图;
图9为本申请实施例中显示服务器版本号列表的一个应用界面示意图;
图10为本申请实施例中应用程序的更新方法的另一个流程示意图;
图11为本申请实施例中上传目标Lua脚本的一个界面示意图;
图12为本申请实施例中应用程序更新系统的一个整体架构示意图;
图13为本申请实施例中应用程序更新装置的一个示意图;
图14为本申请实施例中应用程序更新装置的另一个示意图;
图15为本申请实施例中终端设备的一个结构示意图;
图16为本申请实施例中服务器的一个结构示意图。
具体实施方式
本申请实施例提供了一种应用程序的更新方法、相关装置、设备以及存储介质,在更新应用的时候无需重新对代码进行编译、打包和安装,一方面可以节省应用更新的耗时,另一方面,能够仅在移动端上进行应用功能的更新,不会影响其他用户的正常使用,从而支持开发人员灵活调整Lua脚本的内容,以达到应用功能测试的目的。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“对应于”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
随着手机游戏应用越来越普及,手机游戏开发的技术变得越来越成熟,而随之而来的一个问题就是在手机上如何能够快速的严重问题,虽然大多数情况下能够在电脑编辑器模式去验证,但这只是开发者的初步验证,一个功能的修复还需要经过大量的测试来验证。但是在手机上验证的话需要重新打包编译以及安装等一系列流程,而由于现在的游戏应用越来越庞大,导致换新包安装验证问题的时间成本也越来越大。为此,本申请提供了一种应用程序的更新方法,能够实现不需要重新出新的安装包即可在终端设备上快速验证功能。具体方式为将写好的Lua脚本发送到终端设备应用程序(application,APP)上,然后APP能够直接运行修改后的代码,无需重新装新包即可验证应用程序。
Lua是一种轻量脚本语言,其设计目的是为了嵌入应用程序中,为应用程序提供灵活的扩展和定制功能,Lua由标准C语言编写而成,几乎在所有操作系统和平台上都可以编译。Lua是使用C语音写的脚本语言,在运行时读入Lua编写的代码,在解释Lua时不需要翻译为机器码,而是使用C代码进行解释。由于Lua脚本不需要编译,因此Lua脚本可以直接在Lua虚拟机里运行。游戏引擎(Unity)开发的语言是C#,然而C#无法作为热更脚本,因此,在应用程序中使用Lua脚本,即开发程序先将原来的C#代码以Lua脚本的语法写出来。需要说明的是,C#代码不能热更,而资源(例如,图片或者文本)可以热更,其中,Lua脚本属于资源,
为了便于理解,请参阅图1,图1为本申请实施例中C#代码与Lua脚本之间的一个对比示意图,如图1中(A)图所示,该脚本为采用C#语言编写的一段C#代码。基于这段C#语言编写的脚本,可翻译出相应的Lua脚本,即如图1中(B)图所示的Lua脚本。可以理解的是,Lua热更新插件可以为C#环境提供一个Lua虚拟机,使在C#环境里也可以运行Lua代码,从而为它们增加Lua脚本编程的能力。借助Lua热更新插件,Lua脚本就可以方便的和C#相互调用。基于此,开发时使用C#代码,等需要热更新时再使用Lua脚本,版本更新时再把Lua脚本转换成C#代码,从而使得应用程序(例如,游戏应用)正常运营。
基于此,本申请提出了一种应用程序的更新方法,该方法应用于图1所示的应用程序更新系统,请参阅图2,图2为本申请实施例中应用程序更新系统的一个环境示意图如图所示,应用程序更新系统包括服务器、内网服务器、第一终端设备以及第二终端设备。其中,客户端部署于第一终端设备和第二终端设备上,其中,客户端可以通过浏览器的形式运行于终端设备上,也可以通过独立的应用程序(application,APP)的形式运行于终端设备上等,对于客户端的具体展现形式,此处不做限定。本申请涉及的服务器和内容服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。第一终端设备和第二终端设备可以是智能手机、平板电脑、笔记本电脑、掌上电脑、个人电脑、智能电视、智能手表、车载设备、可穿戴设备等,但并不局限于此。第一终端设备、第二终端设备以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。服务器和终端设备的数量也不做限制。本申请提供的方案可以由终端设备独立完成,也可以由服务器独立完成,还可以由终端设备与服务器配合完成,对此,本申请并不做具体限定。
开发人员通过第二终端设备向服务器发送脚本读取请求,由服务器向内网服务器反馈该脚本读取请求内网服务器向目标CDN服务器请求待更新Lua脚本。内网服务器在接收到待更新Lua脚本之后,将该待更新Lua脚本转发至服务器,再有服务器发送至第二终端设备。开发人员可通过第二终端设备,对待更新Lua脚本进行修改,以此得到用于更新应用程序(例如,游戏应用)的目标Lua脚本。第二终端设备将目标Lua脚本上传至服务器,由服务器进行存储。测试人员通过第一终端设备向服务器发送脚本更新请求,由服务器根据脚本更新请求向第一终端设备反馈目标Lua脚本的目标下载地址,第一终端设备基于目标下载地址下载目标Lua脚本。基于此,第一终端设备可以通过应用程序(例如,游戏应用)执行该目标Lua脚本,以达到应用更新的目的。
结合上述介绍,下面将从终端设备的角度,对本申请中应用程序的更新方法进行介绍,请参阅图3,本申请实施例中应用程序更新方法的一个实施例包括:
101、第一终端设备通过第一应用程序向服务器发送脚本更新请求,其中,脚本更新请求用于请求服务器获取目标下载地址,其中,脚本更新请求携带有目标脚本标识;
在一个或多个实施例中,第一终端设备上运行有第一应用程序,其中,第一应用程序为应用启动器,例如,游戏启动器。
具体地,测试人员通过第一终端设备启动第一应用程序,在第一应用程序中输入目标脚本标识(即,脚本短码),例如,“1000110”。可以理解的是,每个脚本标识对应于唯一的一个Lua脚本。因此,第一应用程序生成一个携带目标脚本标识的脚本更新请求。由第一终端设备将脚本更新请求发送至服务器,以此请求服务器反馈目标Lua脚本所对应的目标下载地址。
测试人员可通过不同的方式获知目标脚本标识,示例性地,开发人员通过第二终端设备上传目标Lua脚本之后,由服务器分配一个目标脚本标识,并反馈至第二终端设备。由第二终端设备显示目标脚本标识,由此,开发人员可告知测试人员目标脚本标识。示例性地,测试人员可直接通过第一终端设备查询每个版本Lua脚本所对应的脚本标识,因此,测试人员基于需要下载的目标Lua脚本,可查询对应的目标脚本标识。
需要说明的是,第一终端设备可以是移动端,包含但不仅限于手机以及手持便携式游戏设备。
102、第一终端设备通过第一应用程序接收服务器发送的目标下载地址,其中,目标下载地址为目标Lua脚本的下载地址,目标Lua脚本为用于更新第二应用程序的Lua脚本;
在一个或多个实施例中,服务器接收到第一终端设备发送的脚本更新请求之后,提取目标脚本标识所对应的目标下载地址,该目标下载地址即为目标Lua脚本的下载地址,且目标下载地址表示为统一资源定位器(Uniform Resource Locator,URL)地址。利用目标Lua脚本可实现对第二应用程序的热更新。其中,Lua脚本可被C/C++代码调用,也可以调用C/C++的函数,这使得Lua脚本在应用程序中可以被广泛应用。不仅仅作为扩展脚本,也可以作为普通的配置文件,代替可扩展标记语言(Extensible Markup Language,XML)或者配置文件(ini)等文件格式,并且更容易理解和维护。
需要说明的是,第一终端设备上还安装有第二应用程序,其中,第二应用程序为应用程序,例如,游戏应用。本申请涉及到的游戏应用包含但不仅限于射击游戏、角色扮演游戏(Role-playing game,RPG)以及多人在线战术竞技游戏(Multiplayer Online BattleArena,MOBA)游戏等,其中,射击游戏包含第一人称射击游戏和第三人称射击游戏等,包含但不仅限于此的所有使用热兵器类进行远程攻击的游戏。角色扮演游戏中玩家扮演一位角色在一个写实或虚构的世界中活动。多人在线战术竞技游戏中,玩家通常被分为两队,两队在分散的游戏地图中互相竞争。
103、第一终端设备根据目标下载地址下载目标Lua脚本,其中,目标Lua脚本存储于第一终端设备的指定目录中;
在一个或多个实施例中,第一终端设备基于目标下载地址从服务器中下载目标Lua脚本,其中,存储目标Lua脚本的服务器与接收脚本更新请求的服务器可以为相同的服务器,也可以是不同的服务器,通常情况下,会将各个版本的Lua脚本存储在另一个服务器上,从而能够减轻服务器的压力,提升处理效率。第一终端设备可通过第一应用程序下载目标Lua脚本,或者,通过第二应用程序下载目标Lua脚本。
示例性地,第一终端设备通过第一应用程序自动下载目标Lua脚本,即,第一应用程序请求到目标下载地址之后,第一终端设备可通过第一应用程序,主动向服务器请求下载目标下载地址所对应的目标Lua脚本,下载完毕后,将该目标Lua脚本存储于第一终端设备的指定目录中,以供第二应用程序启动时调用。
示例性地,第一终端设备通过第一应用程序响应用户操作下载目标Lua脚本,即,第一应用程序请求到目标下载地址之后,可先测试人员反馈已获取目标下载地址的通知,此时,测试人员可在第一应用程序中触发针对于“下载”控件的选择指令,基于此,第一终端设备可通过第一应用程序,向服务器请求下载目标下载地址所对应的目标Lua脚本,下载完毕后,将该目标Lua脚本存储于第一终端设备的指定目录中,以供第二应用程序启动时调用。
示例性地,第一终端设备启动第二应用程序,并通过第二应用程序自动下载目标Lua脚本,即,第一终端设备可通过第二应用程序,主动向服务器请求下载目标下载地址所对应的目标Lua脚本,下载完毕后,将该目标Lua脚本存储于第一终端设备的指定目录中,以供第二应用程序再次启动时调用。
示例性地,第一终端设备启动第二应用程序,响应用户操作并通过第二应用程序自动下载目标Lua脚本,即,第一应用程序请求到目标下载地址之后,可先测试人员反馈已获取目标下载地址的通知,此时,测试人员可在第二应用程序中触发针对于“下载”控件的选择指令,基于此,第一终端设备可通过第二应用程序,向服务器请求下载目标下载地址所对应的目标Lua脚本,下载完毕后,将该目标Lua脚本存储于第一终端设备的指定目录中,以供第二应用程序再次启动时调用。
104、第一终端设备从指定目录中读取目标Lua脚本,并通过第二应用程序执行目标Lua脚本。
在一个或多个实施例中,第一终端设备将目标Lua脚本存储至指定目录中之后,当启动第二应用程序时,第二应用程序可从指定目录中读取目标Lua脚本,并执行目标Lua脚本,由此实现应用热更新的过程。
具体地,第一应用程序可以将目标Lua脚本注入至第一终端设备上安装的第二应用程序,启动第二应用程序即实现热更的流程。基于此,采用这样的应用更新方式只会影响到本机上安装的第二应用程序,不会影响其他用户,因此,可以开发人员可任意调试Lua代码以及定位真机问题。
本申请实施例中,提供了一种应用程序的更新方法,通过上述方式,在移动端上的第一应用程序可以将已经修改了应用功能的目标Lua脚本下载到本地,然后直接调用第二应用程序运行该目标Lua脚本即可测试更新后的应用功能。由于Lua脚本能够实现热更新,因此,在更新应用的时候无需重新对代码进行编译、打包和安装,一方面可以节省应用更新的耗时,另一方面,能够仅在移动端上进行应用功能的更新,不会影响其他用户的正常使用,从而支持开发人员灵活调整Lua脚本的内容,以达到应用功能测试的目的。
可选地,在上述图3对应的实施例的基础上,本申请实施例提供的另一个可选实施例中,第一终端设备通过第一应用程序向服务器发送脚本更新请求之前,还可以包括:
第一终端设备显示第一应用程序的应用界面,其中,应用界面包括脚本标识输入区域、版本号输入区域以及预发布控件;
第一终端设备通过脚本标识输入区域获取目标脚本标识;
第一终端设备通过版本号输入区域获取目标服务器版本号;
第一终端设备通过第一应用程序向服务器发送脚本更新请求,具体可以包括:
第一终端设备响应针对于预发布控件的选择指令,通过第一应用程序向服务器发送脚本更新请求,其中,脚本更新请求还携带有目标服务器版本号;
还可以包括:
第一终端设备通过第一应用程序开启第二应用程序,其中,第二应用程序对应于目标服务器版本号。
在一个或多个实施例中,介绍了一种基于目标脚本标识和标服务器版本号实现预发布的方式。由前述实施例可知,测试人员在第一终端设备上开启第一应用程序,由此,可在第一应用程序的应用界面上输入与Lua脚本相关的信息,输入完毕后,触发脚本更新请求。
具体地,为了便于介绍,请参阅图4,图4为本申请实施例中第一应用程序的一个应用界面示意图,如图所示,A1用于指示服务器地址输入区域,A2用于指示版本号输入区域,A3用于指示脚本标识输入区域,A4用于指示预发布控件,A5用于指示应用启动控件。
示例性地,测试人员可在A1所指示的服务器地址输入区域中输入服务器地址,该服务器地址用于指示接收脚本更新请求的服务器。如果测试人员不输入服务器地址,则第一终端设备向默认服务器发送脚本更新请求。
示例性地,测试人员可在A2所指示的版本号输入区域中输入目标服务器版本号,该目标服务器版本号用于指示运行于不同地区的服务器版本号。通常情况下,在不同地区运行的第二应用程序往往具有不同的版本号,例如,在地区A中,第二应用程序的服务器版本号为“1.0.16.1”,在地区B中,第二应用程序的服务器版本号为“1.0.16.2”。如果测试人员不输入目标服务器版本号,则以第一终端设备当前所在地区为准,自动关联该地区的服务器版本号,并将该服务器版本号作为目标服务器版本号。
示例性地,测试人员可在A3所指示的脚本标识输入区域中输入目标脚本标识,该目标脚本标识用于指示目标Lua脚本。其中,脚本标识输入区域内需要输入相应内容。
示例性地,测试人员在输入完相关信息之后,可点击A4所指示的预发布控件,于是,第一终端设备响应测试人员针对于预发布控件的选择指令,然后通过第一应用程序向服务器发送脚本更新请求,其中,该脚本更新请求还携带有目标服务器版本号。
示例性地,测试人员可点击A5所指示的应用启动控件,由此,将已下载的目标Lua脚本注入至第二应用程序,再次启动第二应用程序时,该第二应用程序已更新。
其次,本申请实施例中,提供了一种基于目标脚本标识和标服务器版本号实现预发布的方式,通过上述方式,测试人员启动第一应用程序之后,在第一应用程序的应用界面上输入目标脚本标识以及目标服务器版本号,相当于为测试人员提供了信息输入的接口,由此,便于测试人员调取相应的Lua脚本,从而提升操作的灵活性和便利性。
可选地,在上述图3对应的实施例的基础上,本申请实施例提供的另一个可选实施例中,还可以包括:
若目标脚本标识与目标服务器版本号匹配失败,则第一终端设备通过第一应用程序的应用界面显示第一提示消息;
若目标脚本标识为无效脚本标识,则第一终端设备通过第一应用程序的应用界面显示第二提示消息;
若目标服务器版本号为无效服务器版本号,则第一终端设备通过第一应用程序的应用界面显示第三提示消息。
在一个或多个实施例中,介绍了一种自动匹配目标脚本标识与目标服务器版本号的方式。由前述实施例可知,脚本更新请求可携带目标脚本标识以及目标服务器版本号,其中,脚本标识用于指示某个Lua脚本,而服务器版本号用于指示某个地区对应的第二应用程序版本号。第一终端设备向服务器发送脚本更新请求之后,由服务器解析脚本更新请求,由此得到目标脚本标识以及目标服务器版本号。基于此,服务器需要对目标脚本标识以及目标服务器版本号进行有效性的校验,以及对两者进行匹配。
具体地,为了便于理解,请参阅表1,表1为脚本标识与服务器版本号之间映射关系的一个示意。
表1
服务器版本号 | 脚本标识 |
1.0.16.1 | 1052;1053;1054;1055;1056 |
1.0.16.2 | 1052;1061;1062 |
1.0.16.3 | 1052;1070;1077;1079 |
1.0.16.4 | 1052;1088 |
其中,脚本标识“1052”与四个服务器版本号均具有匹配关系,即脚本标识“1052”对应的Lua脚本可运行于服务器版本号为“1.0.16.1”、“1.0.16.2”、“1.0.16.3”或者“1.0.16.4”的第二应用程序。脚本标识“1053”与服务器版本号“1.0.16.1”具有映射关系,因此,脚本标识“1053”对应的Lua脚本只可运行于服务器版本号为“1.0.16.1”的第二应用程序。
示例性地,基于表1,请参阅图5,图5为本申请实施例中显示第一提示消息的一个应用界面示意图,如图所示,假设测试人员输入的目标脚本标识为“1055”,输入的目标服务器版本号为“1.0.16.2”,由表1可知,目标脚本标识与目标服务器版本号匹配失败。于是在第一应用程序的应用界面上显示第一提示消息,例如,“抱歉,您输入的服务器版本号与脚本短码不匹配,请重新输入”。
示例性地,基于表1,请参阅图6,图6为本申请实施例中显示第二提示消息的一个应用界面示意图,如图所示,假设测试人员输入的目标脚本标识为“9999”,由表1可知,目标脚本标识为无效脚本标识。于是在第一应用程序的应用界面上显示第二提示消息,例如,“抱歉,您输入脚本短码有误,请重新输入”。
示例性地,基于表1,请参阅图7,图7为本申请实施例中显示第三提示消息的一个应用界面示意图,如图所示,假设测试人员输入的目标服务器版本号为“1.0.55.2”,由表1可知,目标服务器版本号为无效服务器版本号。于是在第一应用程序的应用界面上显示第三提示消息,例如,“抱歉,您输入服务器版本号有误,请重新输入”。
需要说明的是,图5、图6和图7所示的界面布局方式以及提示内容仅为一个示意,不应理解为对本申请的限定。
再次,本申请实施例中,提供了一种自动匹配目标脚本标识与目标服务器版本号的方式,通过上述方式,还需要将目标脚本标识与目标服务器版本号进行匹配,考虑到不同地区的服务器版本号可能不同,为了避免下载的目标Lua脚本无法正常运行,因此,对于目标脚本标识与目标服务器版本号匹配失败失败的情况而言,可触发相关提示消息。对于无效脚本标识而言,也会触发相关的提示消息,以提升测试人员重新输入脚本标识。对于无效服务器版本号而言,也会触发相关的提示消息,以提升测试人员重新输入服务器版本号。由此,有利于信息输入的准确性。
可选地,在上述图3对应的实施例的基础上,本申请实施例提供的另一个可选实施例中,还可以包括:
若脚本标识输入区域已输入目标脚本标识,则第一终端设备通过第一应用程序的应用界面显示服务器版本号列表,其中,服务器版本号列表包括至少一个服务器版本号;
第一终端设备通过版本号输入区域获取目标服务器版本号,具体可以包括:
第一终端设备响应针对于服务器版本号列表中目标服务器版本号的选择指令,在版本号输入区域显示目标服务器版本号,其中,目标服务器版本号包含于服务器版本号列表。
在一个或多个实施例中,介绍了一种基于目标脚本标识提示输入服务器版本号的方式。由前述实施例可知,测试人员在脚本标识输入区域中输入目标脚本标识之后,第一终端设备可以向服务器请求与目标脚本标识关联的服务器版本号,如果能够关联至少一个服务器版本号,则服务器会向第一终端设备反馈至少一个服务器版本号。或者,第一终端设备基于预先从服务器下载的脚本标识与服务器版本号之间的映射关系表,查询与目标脚本标识关联的服务器版本号。基于此,第一终端设备通过第一应用程序的应用界面,显示包括有至少一个服务器版本号的服务器版本号列表。
具体地,为了便于介绍,请参阅图8,图8为本申请实施例中显示脚本标识列表的一个应用界面示意图,如图所示,假设测试人员在脚本标识输入区域输入了目标脚本标识“1052”,由此关联到4个服务器版本号,分别为“1.0.16.1”、“1.0.16.2”、“1.0.16.3”以及“1.0.16.4”,于是在服务器版本号列表上显示这4个服务器版本号。基于此,测试人员可以从服务器版本号列表上选中任意一个服务器版本号,该服务器版本号即为目标服务器版本号,即测试人员触发针对于服务器版本号列表中目标服务器版本号的选择指令。选择完毕之后,在版本号输入区域上显示目标服务器版本号。
需要说明的是,图8所示的界面布局方式以及提示内容仅为一个示意,不应理解为对本申请的限定。
再次,本申请实施例中,提供了一种基于目标脚本标识提示输入服务器版本号的方式,通过上述方式,测试人员在输入目标脚本标识之后,后台还可以自动关联至少一个服务器版本号,然后通过服务器版本号列表向测试人员展示关联的至少一个服务器版本号,测试人员直接选中某个服务器版本号即可。由此,一方面能够有效地避免目标脚本标识与目标服务器版本号不匹配的情况,另一方面,对于测试人员而言简化了信息输入的操作,从而提升方案的灵活性。
可选地,在上述图3对应的实施例的基础上,本申请实施例提供的另一个可选实施例中,还可以包括:
若版本号输入区域已输入目标服务器版本号,则第一终端设备通过第一应用程序的应用界面显示脚本标识列表,其中,脚本标识列表包括至少一个脚本标识;
第一终端设备通过脚本标识输入区域获取目标脚本标识,具体可以包括:
第一终端设备响应针对于脚本标识列表中目标脚本标识的选择指令,在脚本标识输入区域显示目标脚本标识,其中,目标脚本标识包含于脚本标识列表。
在一个或多个实施例中,介绍了一种基于目标服务器版本号提示输入脚本标识的方式。由前述实施例可知,测试人员在版本号输入区域中输入目标服务器版本号之后,第一终端设备可以向服务器请求与目标服务器版本号关联的脚本标识,如果能够关联至少一个脚本标识,则服务器会向第一终端设备反馈至少一个脚本标识。或者,第一终端设备基于预先从服务器下载的脚本标识与服务器版本号之间的映射关系表,查询与目标服务器版本号关联的脚本标识。基于此,第一终端设备通过第一应用程序的应用界面,显示包括有至少一个脚本标识的脚本标识列表。
具体地,为了便于介绍,请参阅图9,图9为本申请实施例中显示服务器版本号列表的一个应用界面示意图,如图所示,假设测试人员在版本号输入区域输入了目标服务器版本号“1.0.16.3”,由此关联到4个脚本标识,分别为“1052”、“1070”、“1077”以及“1079”,于是在脚本标识列表上显示这4个脚本标识。基于此,测试人员可以从脚本标识列表上选中任意一个脚本标识,该脚本标识即为目标脚本标识,即测试人员触发针对于脚本标识列表中目标脚本标识的选择指令。选择完毕之后,在脚本标识输入区域上显示目标脚本标识。
需要说明的是,图9所示的界面布局方式以及提示内容仅为一个示意,不应理解为对本申请的限定。
再次,本申请实施例中,提供了一种基于目标服务器版本号提示输入脚本标识的方式,通过上述方式,测试人员在输入目标服务器版本号之后,后台还可以自动关联至少一个脚本标识,然后通过脚本标识列表向测试人员展示关联的至少一个脚本标识,测试人员直接选中某个脚本标识即可。由此,一方面能够有效地避免目标脚本标识与目标服务器版本号不匹配的情况,另一方面,对于测试人员而言简化了信息输入的操作,从而提升方案的灵活性。
可选地,在上述图3对应的实施例的基础上,本申请实施例提供的另一个可选实施例中,第一终端设备从指定目录中读取目标Lua脚本,并通过第二应用程序执行目标Lua脚本,具体可以包括:
第一终端设备从指定目录中读取目标Lua脚本;
第一终端设备将原始Lua脚本与目标Lua脚本进行合并处理,得到已合并的Lua脚本;
第一终端设备通过第二应用程序执行已合并的Lua脚本。
在一个或多个实施例中,介绍了一种生成已合并的Lua脚本的方式。目标Lua脚本可以是一个完整脚本,或者是一个增量脚本。示例性地,如果目标Lua脚本是完整脚本,那么下载完目标Lua脚本之后,只需要运行目标Lua脚本即可。示例性地,如果目标Lua脚本是增量脚本,那么在下载完目标Lua脚本之后,还需要与原始Lua脚本进行合并后才能正常运行。
具体地,第一终端设备先下载原始Lua脚本,并将原始Lua脚本存储于第一终端设备本地。当需要更新第二应用程序时,第一终端设备可从指定目录中读取目标Lua脚本,然后将原始Lua脚本与目标Lua脚本进行合并处理。需要说明的是,脚本合并处理的方式包含但不仅限于在原始Lua脚本的基础上新增目标Lua脚本,以此得到已合并的Lua脚本。或者,在原始Lua脚本中插入目标Lua脚本,以此得到已合并的Lua脚本,又或者,将原始Lua脚本中的部分内容替换为目标Lua脚本。基于此,第一终端设备将已合并的Lua脚本存储于本地,通过第二应用程序执行已合并的Lua脚本,由此,实现对第二应用程序的热更新。
其次,本申请实施例中,提供了一种生成已合并的Lua脚本的方式,通过上述方式,第一终端设备将下载到的目标Lua脚本与原始Lua脚本,得到已合并的Lua脚本,并使用已合并的Lua脚本对第二应用程序进行更新,由此,无需每次更新第二应用程序都下载完整的Lua脚本,而是下载具有更新内容的目标Lua脚本即可,从而节省下载资源,有利于提升应用更新效率。
可选地,在上述图3对应的实施例的基础上,本申请实施例提供的另一个可选实施例中,第一终端设备根据目标下载地址下载目标Lua脚本之后,还可以包括:
第一终端设备对目标Lua脚本进行解密处理,得到解密后的目标Lua脚本;
第一终端设备将解密后的目标Lua脚本存储于第一终端设备的指定目录中;
第一终端设备从指定目录中读取目标Lua脚本,并通过第二应用程序执行目标Lua脚本,具体可以包括:
第一终端设备通过第二应用程序从指定目录中读取解密后的目标Lua脚本;
第一终端设备通过第二应用程序执行解密后的目标Lua脚本。
在一个或多个实施例中,介绍了一种对目标Lua脚本进行解密的方式。由前述实施例可知,由服务器向第一终端设备发送目标Lua脚本,为了提升数据传输的安全性,还可以对目标Lua脚本进行加密处理,由此,服务器向第一终端设备反馈的是加密后的目标Lua脚本。基于此,第一终端设备需要对目标Lua脚本进行解密处理,得到解密后的目标Lua脚本,并将解密后的目标Lua脚本存储于第一终端设备的指定目录中。于是,第一终端设备通过第二应用程序从指定目录中读取解密后的目标Lua脚本,并通过第二应用程序执行解密后的目标Lua脚本。
具体地,在一种实现中,目标Lua脚本可采用对称式加密,对称式加密的特点是数据加密和解密使用相同的密钥,即加密密钥也可以用作解密密钥。对称加密算法使用起来简单快捷,密钥较短,且破译困难,除了数据加密标准(Data Encryption Standard,DES),另一个对称密钥加密系统是国际数据加密算法(International Data EncryptionAlgorithm,IDEA),IDEA的加密性较好,而且对计算机功能要求相对较低。
在另一种实现中,目标Lua脚本可采用非对称式加密,非对称加密算法需要两个密钥,分别为公共密钥(publickey)和私有密钥(privatekey)。公共密钥与私有密钥是一对,如果使用公共密钥对数据进行加密,只有使用对应的私有密钥才能解密。反之,如果使用私有密钥对数据进行加密,那么只有使用对应的公共密钥才能解密。采用非对称加密算法对目标Lua脚本进行加解密的方式为,第一终端设备生成一对密钥并将其中的一把作为公用密钥向服务器公开。得到该公用密钥的服务器使用该密钥对目标Lua脚本进行加密后再发送给第一终端设备。由第一终端设备再用自己保存的专用密钥对加密后的目标Lua脚本进行解密。可见,第一终端设备只能用其专用密钥解密由其公用密钥加密后的目标Lua脚本。非对称加密算法的保密性比较好,它消除了最终用户交换密钥的需要。
其次,本申请实施例中,提供了一种对目标Lua脚本进行解密的方式,通过上述方式,可以对目标Lua脚本加密后再进行传输,能够提升脚本传输的安全性,避免出现目标Lua脚本在传输过程中被恶意篡改或者泄露。
结合上述介绍,下面将从服务器的角度,对本申请中应用程序的更新方法进行介绍,请参阅图10,本申请实施例中应用程序更新方法的另一个实施例包括:
201、服务器接收第一终端设备通过第一应用程序发送的脚本更新请求,其中,脚本更新请求携带有目标脚本标识;
在一个或多个实施例中,第一终端设备上运行有第一应用程序,其中,第一应用程序为应用启动器,例如,游戏启动器。
具体地,测试人员通过第一终端设备启动第一应用程序,在第一应用程序中输入目标脚本标识(即,脚本短码),例如,“1000110”。可以理解的是,每个脚本标识对应于唯一的一个Lua脚本。因此,第一应用程序生成一个携带目标脚本标识的脚本更新请求。由第一终端设备将脚本更新请求发送至服务器,以此请求服务器反馈目标Lua脚本所对应的目标下载地址。
测试人员可通过不同的方式获知目标脚本标识,示例性地,开发人员通过第二终端设备上传目标Lua脚本之后,由服务器分配一个目标脚本标识,并反馈至第二终端设备。由第二终端设备显示目标脚本标识,由此,开发人员可告知测试人员目标脚本标识。示例性地,测试人员可直接通过第一终端设备查询每个版本Lua脚本所对应的脚本标识,因此,测试人员基于需要下载的目标Lua脚本,可查询对应的目标脚本标识。
需要说明的是,第一终端设备可以是移动端,包含但不仅限于手机以及手持便携式游戏设备。
202、服务器根据脚本更新请求确定目标下载地址,其中,目标下载地址为目标Lua脚本的下载地址,目标Lua脚本为用于更新第二应用程序的Lua脚本;
在一个或多个实施例中,服务器接收到第一终端设备发送的脚本更新请求之后,提取目标脚本标识所对应的目标下载地址,该目标下载地址即为目标Lua脚本的下载地址,且目标下载地址表示为URL地址。利用目标Lua脚本可实现对第二应用程序的热更新。其中,Lua脚本可被C/C++代码调用,也可以调用C/C++的函数,这使得Lua脚本在应用程序中可以被广泛应用。不仅仅作为扩展脚本,也可以作为普通的配置文件,代替XML或者ini等文件格式,并且更容易理解和维护。
需要说明的是,第一终端设备上还安装有第二应用程序,其中,第二应用程序为应用程序,例如,游戏应用。本申请涉及到的游戏应用包含但不仅限于射击游戏、RPG及MOBA游戏等。
203、服务器向第一终端设备发送目标下载地址,以使第一终端设备根据目标下载地址下载目标Lua脚本,并从指定目录中读取目标Lua脚本,通过第二应用程序执行目标Lua脚本,其中,目标Lua脚本存储于第一终端设备的指定目录中。
在一个或多个实施例中,服务器向第一终端设备发送目标下载地址,由此,第一终端设备基于目标下载地址从服务器中下载目标Lua脚本,其中,存储目标Lua脚本的服务器与接收脚本更新请求的服务器可以为相同的服务器,也可以是不同的服务器,通常情况下,会将各个版本的Lua脚本存储在另一个服务器上,从而能够减轻服务器的压力,提升处理效率。第一终端设备可通过第一应用程序下载目标Lua脚本,或者,通过第二应用程序下载目标Lua脚本。
示例性地,第一终端设备通过第一应用程序自动下载目标Lua脚本,即,第一应用程序请求到目标下载地址之后,第一终端设备可通过第一应用程序,主动向服务器请求下载目标下载地址所对应的目标Lua脚本,下载完毕后,将该目标Lua脚本存储于第一终端设备的指定目录中,以供第二应用程序启动时调用。
示例性地,第一终端设备通过第一应用程序响应用户操作下载目标Lua脚本,即,第一应用程序请求到目标下载地址之后,可先测试人员反馈已获取目标下载地址的通知,此时,测试人员可在第一应用程序中触发针对于“下载”控件的选择指令,基于此,第一终端设备可通过第一应用程序,向服务器请求下载目标下载地址所对应的目标Lua脚本,下载完毕后,将该目标Lua脚本存储于第一终端设备的指定目录中,以供第二应用程序启动时调用。
示例性地,第一终端设备启动第二应用程序,并通过第二应用程序自动下载目标Lua脚本,即,第一终端设备可通过第二应用程序,主动向服务器请求下载目标下载地址所对应的目标Lua脚本,下载完毕后,将该目标Lua脚本存储于第一终端设备的指定目录中,以供第二应用程序再次启动时调用。
示例性地,第一终端设备启动第二应用程序,响应用户操作并通过第二应用程序自动下载目标Lua脚本,即,第一应用程序请求到目标下载地址之后,可先测试人员反馈已获取目标下载地址的通知,此时,测试人员可在第二应用程序中触发针对于“下载”控件的选择指令,基于此,第一终端设备可通过第二应用程序,向服务器请求下载目标下载地址所对应的目标Lua脚本,下载完毕后,将该目标Lua脚本存储于第一终端设备的指定目录中,以供第二应用程序再次启动时调用。
第一终端设备将目标Lua脚本存储至指定目录中之后,当启动第二应用程序时,第二应用程序可从指定目录中读取目标Lua脚本,并执行目标Lua脚本,由此实现应用热更新的过程。第一应用程序可以将目标Lua脚本注入至第一终端设备上安装的第二应用程序,启动第二应用程序即实现热更的流程。基于此,采用这样的应用更新方式只会影响到本机上安装的第二应用程序,不会影响其他用户,因此,可以开发人员可任意调试Lua代码以及定位真机问题。
本申请实施例中,提供了一种应用程序的更新方法,通过上述方式,在移动端上的第一应用程序可以将已经修改了应用功能的目标Lua脚本下载到本地,然后直接调用第二应用程序运行该目标Lua脚本即可测试更新后的应用功能。由于Lua脚本能够实现热更新,因此,在更新应用的时候无需重新对代码进行编译、打包和安装,一方面可以节省应用更新的耗时,另一方面,能够仅在移动端上进行应用功能的更新,不会影响其他用户的正常使用,从而支持开发人员灵活调整Lua脚本的内容,以达到应用功能测试的目的。
可选地,在上述图10对应的实施例的基础上,本申请实施例提供的另一个可选实施例中,服务器接收第一终端设备通过第一应用程序发送的脚本更新请求之前,还可以包括:
服务器接收第二终端设备发送的目标Lua脚本;
服务器根据目标Lua脚本生成目标脚本标识;
服务器向第二终端设备发送目标脚本标识,以使第二终端设备显示目标脚本标识。
在一个或多个实施例中,介绍了一种向第二终端设备反馈目标脚本标识的方式。由前述实施例可知,开发人员可通过第二终端设备编写目标Lua脚本,并将编写好的目标Lua脚本上传至服务器,服务器根据该目标Lua脚本生成一个目标脚本标识,然后反馈至第二终端设备,由第二终端设备显示该目标脚本标识。
具体地,为了便于理解,请参阅图11,图11为本申请实施例中上传目标Lua脚本的一个界面示意图,如图所示,第二终端设备提供一个网页编辑器,开发人员可通过网页编辑器上传目标Lua脚本。其中,B1用于指示“选择文件”控件,开发人员点击“选择文件”控件之后,可以从第二终端设备本地读取Lua脚本。B2用于指示“请求”控件,开发人员点击“请求”控件之后,可以从CDN服务器中读取已经上传过的Lua脚本。基于此,Lua脚本可显示在B3所指示的编辑框内,开发人员可以在编辑框内对Lua脚本进行编辑或重新编写。编辑完成后即得到目标Lua脚本,于是,点击B4所指示的“提交”控件之后,即第二终端设备可将目标Lua脚本上传至服务器。
可以理解的是,“重写”表示对Lua脚本进行重写编写。“地区A”表示Lua脚本的来源,“安卓”表示Lua脚本应用的系统类型,“发布”表示Lua脚本的状态,“1.0.16.0”表示Lua脚本的服务器版本号。
其次,本申请实施例中,提供了一种向第二终端设备反馈目标脚本标识的方式,通过上述方式,服务器根据第二终端设备上传的目标Lua脚本,生成唯一的目标脚本标识,并且反馈至第二终端设备,由此,开发人员可记录下目标脚本标识。在需要第二应用程序更新时,即可使用目标脚本标识来下载相应的目标Lua脚本,从而提升方案的可行性。
可选地,在上述图10对应的实施例的基础上,本申请实施例提供的另一个可选实施例中,服务器接收第二终端设备发送的目标Lua脚本之前,还可以包括:
服务器接收第二终端设备发送的第一脚本读取请求,其中,第一脚本读取请求携带有目标服务器标识以及目标服务器版本号,目标服务器标识用于指示目标内容分发网络CDN服务器,目标服务器版本号用于指示待更新Lua脚本;
服务器向内网服务器发送第一脚本读取请求,以使内网服务器向目标CDN服务器发送第二脚本读取请求,其中,第二脚本读取请求用于请求目标CDN服务器向内网服务器发送待更新Lua脚本,且第二脚本读取请求携带有目标服务器版本号;
服务器接收内网服务器发送的待更新Lua脚本;
服务器向第二终端设备发送待更新Lua脚本,以使第二终端设备对待更新Lua脚本进行更新,得到目标Lua脚本。
在一个或多个实施例中,介绍了一种基于内网服务器获取待更新Lua脚本的方式。由前述实施例可知,第二终端设备还可以向服务器请求Lua脚本,并在该Lua脚本的基础上进行修改或重写,以此得到目标Lua脚本,其中,该Lua脚本即为待更新Lua脚本。
具体地,为了便于介绍,请参阅图12,图12为本申请实施例中应用程序更新系统的一个整体架构示意图,如图所示,图中示出了两个CDN,分别表示不同地区(或国家)版本的服务器,由于不同地区(或国家)的版本配置都有些区别,因此,第二应用程序也是不一样。结合图11,开发人员在网页编辑器中还可填写是哪个地区的服务器,,点击“请求”控件之后触发第一脚本读取请求,此时,第一脚本读取请求携带有目标服务器标识以及目标服务器版本号,目标服务器标识用于指示目标CDN服务器(例如,地区A的CDN服务器),目标服务器版本号用于指示待更新Lua脚本。
服务器向内网服务器发送第一脚本读取请求,内网服务器对第一脚本读取请求进行解析后,可确定目标服务器标识所指示的目标CDN服务器。于是,内网服务器向目标CDN服务器发送第二脚本读取请求,目标CDN服务器根据第二脚本读取请求向内网服务器回包,即返回待更新Lua脚本,其中,第二脚本读取请求携带有目标服务器版本号。基于此,内网服务器向服务器发送待更新Lua脚本,再由服务器向第二终端设备发送待更新Lua脚本,第二终端设备对待更新Lua脚本进行更新,得到目标Lua脚本。
第二终端设备通过网页编辑器,把目标Lua脚本发送到服务器,由服务器进行存储。此外,服务器会生成一个目标脚本标识,并反馈至第二终端设备。
第一终端设备上运行有应用启动器,应用启动器将目标脚本标识发送至服务器,于是服务器返回一个目标下载地址,应用启动器可通过目标下载地址下载目标Lua脚本,最后,应用启动器将目标Lua脚本注入至第二应用程序,即实现热更的流程,第二应用程序会自动运行新注入的目标Lua脚本。
其次,本申请实施例中,提供了一种基于内网服务器获取待更新Lua脚本的方式,通过上述方式,考虑到不同地区可能运行不同服务器版本号对应的第二应用程序,因此,第二终端设备还可以向服务器请求相应服务器版本号所对应的待更新Lua脚本,由此,一方面能够有针对性地对Lua脚本进行更新,以得到目标Lua脚本。另一方面,由服务器向第二终端设备下发待更新Lua脚本,无需开发人员重新编写完整的Lua脚本,由此提升测试效率,节省人力成本。
可选地,在上述图10对应的实施例的基础上,本申请实施例提供的另一个可选实施例中,服务器接收第二终端设备发送的目标Lua脚本之前,还可以包括:
服务器向内网服务器发送脚本同步请求,以使内网服务器向N个CDN服务器发送脚本同步请求,其中,脚本同步请求用于请求N个CDN服务器向内网服务器发送至少一个Lua脚本,N为大于或等于1的整数;
服务器接收并存储内网服务器发送的至少一个Lua脚本,其中,每个Lua脚本对应于一个服务器版本号;
当服务器接收到第二终端设备发送的脚本读取请求时,服务器根据脚本读取请求所包括的目标服务器版本号,从至少一个Lua脚本中确定待更新Lua脚本;
服务器向第二终端设备发送待更新Lua脚本,以使第二终端设备对待更新Lua脚本进行更新,得到目标Lua脚本。
在一个或多个实施例中,介绍了一种基于CDN服务器获取待更新Lua脚本的方式。由前述实施例可知,服务器在接收第二终端设备发送的目标Lua脚本之前,还可以周期性地请求存储于CDN服务器中的Lua脚本。
具体地,服务器可周期性地向内网服务器发送脚本同步请求,于是,内网服务器可向N个CDN服务器转发该脚本同步请求。N个CDN服务器将该周期内新增的Lua脚本反馈至内网服务器。如果该周期内N个CDN服务器都没有新增的Lua脚本,则可以无需向内网服务器发送数据。如果内网服务器在该周期内接收到至少一个Lua脚本,则向服务器发送至少一个Lua脚本。其中,每个Lua脚本对应于一个服务器版本号,服务器版本号用于指示Lua脚本的所属地区。服务器将每个Lua脚本存储在本地,并记录Lua脚本及以及对应服务器版本号之间的映射关系。
当服务器接收到第二终端设备发送的脚本读取请求时,即可根据脚本读取请求所包括的目标服务器版本号,并结合Lua脚本及以及对应服务器版本号之间的映射关系,查找目标服务器版本号所对应的Lua脚本,该Lua脚本即为待更新Lua脚本。于是,服务器向第二终端设备发送该待更新Lua脚本。第二终端设备可以在待更新Lua脚本的基础上,对其进行修改,更新得到目标Lua脚本。
其次,本申请实施例中,提供了一种基于CDN服务器获取待更新Lua脚本的方式,通过上述方式,服务器可通过内网服务器向CDN服务器发送脚本同步请求,实现同步Lua脚本的目的,基于此,服务器将同步得到的Lua脚本存储在本地,当第二终端设备发送脚本读取请求时,服务器无需再向内网服务器请求相应的待更新Lua脚本,而是直接从本地获取待更新Lua脚本,并发送至第二终端设备。由此,提升了Lua脚本的读取效率。
下面对本申请中的应用程序更新装置进行详细描述,请参阅图13,图13为本申请实施例中应用程序更新装置的一个实施例示意图,应用程序更新装置30包括:
发送模块301,用于通过第一应用程序向服务器发送脚本更新请求,其中,脚本更新请求用于请求服务器获取目标下载地址,其中,脚本更新请求携带有目标脚本标识;
接收模块302,用于通过第一应用程序接收服务器发送的目标下载地址,其中,目标下载地址为目标Lua脚本的下载地址,目标Lua脚本为用于更新第二应用程序的Lua脚本;
下载模块303,用于根据目标下载地址下载目标Lua脚本,其中,目标Lua脚本存储于第一终端设备的指定目录中;
更新模块304,用于从指定目录中读取目标Lua脚本,并通过第二应用程序执行目标Lua脚本。
本申请实施例中,提供了一种应用程序更新装置,采用上述装置,在移动端上的第一应用程序可以将已经修改了应用功能的目标Lua脚本下载到本地,然后直接调用第二应用程序运行该目标Lua脚本即可测试更新后的应用功能。由于Lua脚本能够实现热更新,因此,在更新应用的时候无需重新对代码进行编译、打包和安装,一方面可以节省应用更新的耗时,另一方面,能够仅在移动端上进行应用功能的更新,不会影响其他用户的正常使用,从而支持开发人员灵活调整Lua脚本的内容,以达到应用功能测试的目的。
可选地,在上述图13所对应的实施例的基础上,本申请实施例提供的应用程序更新装置30的另一实施例中,应用程序更新装置还包括显示模块305、获取模块306以及开启模块307;
显示模块305,用于在发送模块301通过第一应用程序向服务器发送脚本更新请求之前,显示第一应用程序的应用界面,其中,应用界面包括脚本标识输入区域、版本号输入区域以及预发布控件;
获取模块306,用于通过脚本标识输入区域获取目标脚本标识;
获取模块306,还用于通过版本号输入区域获取目标服务器版本号;
发送模块301,具体用于响应针对于预发布控件的选择指令,通过第一应用程序向服务器发送脚本更新请求,其中,脚本更新请求还携带有目标服务器版本号;
开启模块307,用于通过第一应用程序开启第二应用程序,其中,第二应用程序对应于目标服务器版本号。
本申请实施例中,提供了一种应用程序更新装置,采用上述装置,测试人员启动第一应用程序之后,在第一应用程序的应用界面上输入目标脚本标识以及目标服务器版本号,相当于为测试人员提供了信息输入的接口,由此,便于测试人员调取相应的Lua脚本,从而提升操作的灵活性和便利性。
可选地,在上述图13所对应的实施例的基础上,本申请实施例提供的应用程序更新装置30的另一实施例中,
显示模块305,还用于若目标脚本标识与目标服务器版本号匹配失败,则通过第一应用程序的应用界面显示第一提示消息;
显示模块305,还用于若目标脚本标识为无效脚本标识,则通过第一应用程序的应用界面显示第二提示消息;
显示模块305,还用于若目标服务器版本号为无效服务器版本号,则通过第一应用程序的应用界面显示第三提示消息。
本申请实施例中,提供了一种应用程序更新装置,采用上述装置,还需要将目标脚本标识与目标服务器版本号进行匹配,考虑到不同地区的服务器版本号可能不同,为了避免下载的目标Lua脚本无法正常运行,因此,对于目标脚本标识与目标服务器版本号匹配失败失败的情况而言,可触发相关提示消息。对于无效脚本标识而言,也会触发相关的提示消息,以提升测试人员重新输入脚本标识。对于无效服务器版本号而言,也会触发相关的提示消息,以提升测试人员重新输入服务器版本号。由此,有利于信息输入的准确性。
可选地,在上述图13所对应的实施例的基础上,本申请实施例提供的应用程序更新装置30的另一实施例中,
显示模块305,还用于若脚本标识输入区域已输入目标脚本标识,则通过第一应用程序的应用界面显示服务器版本号列表,其中,服务器版本号列表包括至少一个服务器版本号;
获取模块306,具体用于响应针对于服务器版本号列表中目标服务器版本号的选择指令,在版本号输入区域显示目标服务器版本号,其中,目标服务器版本号包含于服务器版本号列表。
本申请实施例中,提供了一种应用程序更新装置,采用上述装置,测试人员在输入目标脚本标识之后,后台还可以自动关联至少一个服务器版本号,然后通过服务器版本号列表向测试人员展示关联的至少一个服务器版本号,测试人员直接选中某个服务器版本号即可。由此,一方面能够有效地避免目标脚本标识与目标服务器版本号不匹配的情况,另一方面,对于测试人员而言简化了信息输入的操作,从而提升方案的灵活性。
可选地,在上述图13所对应的实施例的基础上,本申请实施例提供的应用程序更新装置30的另一实施例中,
显示模块305,还用于若版本号输入区域已输入目标服务器版本号,则通过第一应用程序的应用界面显示脚本标识列表,其中,脚本标识列表包括至少一个脚本标识;
获取模块306,具体用于响应针对于脚本标识列表中目标脚本标识的选择指令,在脚本标识输入区域显示目标脚本标识,其中,目标脚本标识包含于脚本标识列表。
本申请实施例中,提供了一种应用程序更新装置,采用上述装置,测试人员在输入目标服务器版本号之后,后台还可以自动关联至少一个脚本标识,然后通过脚本标识列表向测试人员展示关联的至少一个脚本标识,测试人员直接选中某个脚本标识即可。由此,一方面能够有效地避免目标脚本标识与目标服务器版本号不匹配的情况,另一方面,对于测试人员而言简化了信息输入的操作,从而提升方案的灵活性。
可选地,在上述图13所对应的实施例的基础上,本申请实施例提供的应用程序更新装置30的另一实施例中,
更新模块304,具体用于从指定目录中读取目标Lua脚本;
将原始Lua脚本与目标Lua脚本进行合并处理,得到已合并的Lua脚本;
通过第二应用程序执行已合并的Lua脚本。
本申请实施例中,提供了一种应用程序更新装置,采用上述装置,第一终端设备将下载到的目标Lua脚本与原始Lua脚本,得到已合并的Lua脚本,并使用已合并的Lua脚本对第二应用程序进行更新,由此,无需每次更新第二应用程序都下载完整的Lua脚本,而是下载具有更新内容的目标Lua脚本即可,从而节省下载资源,有利于提升应用更新效率。
可选地,在上述图13所对应的实施例的基础上,本申请实施例提供的应用程序更新装置30的另一实施例中,应用程序更新装置30还包括解密模块308以及存储模块309;
解密模块308,用于在下载模块303根据目标下载地址下载目标Lua脚本之后,对目标Lua脚本进行解密处理,得到解密后的目标Lua脚本;
存储模块309,用于将解密后的目标Lua脚本存储于第一终端设备的指定目录中;
更新模块304,具体用于通过第二应用程序从指定目录中读取解密后的目标Lua脚本;
通过第二应用程序执行解密后的目标Lua脚本。
本申请实施例中,提供了一种应用程序更新装置,采用上述装置,可以对目标Lua脚本加密后再进行传输,能够提升脚本传输的安全性,避免出现目标Lua脚本在传输过程中被恶意篡改或者泄露。
下面对本申请中的应用程序更新装置进行详细描述,请参阅图14,图14为本申请实施例中应用程序更新装置的另一个实施例示意图,应用程序更新装置40包括:
接收模块401,用于接收第一终端设备通过第一应用程序发送的脚本更新请求,其中,脚本更新请求携带有目标脚本标识;
确定模块402,用于根据脚本更新请求确定目标下载地址,其中,目标下载地址为目标Lua脚本的下载地址,目标Lua脚本为用于更新第二应用程序的Lua脚本;
更新模块403,用于向第一终端设备发送目标下载地址,以使第一终端设备根据目标下载地址下载目标Lua脚本,并从指定目录中读取目标Lua脚本,通过第二应用程序执行目标Lua脚本,其中,目标Lua脚本存储于第一终端设备的指定目录中。
本申请实施例中,提供了一种应用程序更新装置,采用上述装置,在移动端上的第一应用程序可以将已经修改了应用功能的目标Lua脚本下载到本地,然后直接调用第二应用程序运行该目标Lua脚本即可测试更新后的应用功能。由于Lua脚本能够实现热更新,因此,在更新应用的时候无需重新对代码进行编译、打包和安装,一方面可以节省应用更新的耗时,另一方面,能够仅在移动端上进行应用功能的更新,不会影响其他用户的正常使用,从而支持开发人员灵活调整Lua脚本的内容,以达到应用功能测试的目的。
可选地,在上述图14所对应的实施例的基础上,本申请实施例提供的应用程序更新装置40的另一实施例中,应用程序更新装置40还包括生成模块404以及发送模块405;
接收模块401,还用于接收第一终端设备通过第一应用程序发送的脚本更新请求之前,接收第二终端设备发送的目标Lua脚本;
生成模块404,用于根据目标Lua脚本生成目标脚本标识;
发送模块405,用于向第二终端设备发送目标脚本标识,以使第二终端设备显示目标脚本标识。
本申请实施例中,提供了一种应用程序更新装置,采用上述装置,服务器根据第二终端设备上传的目标Lua脚本,生成唯一的目标脚本标识,并且反馈至第二终端设备,由此,开发人员可记录下目标脚本标识。在需要第二应用程序更新时,即可使用目标脚本标识来下载相应的目标Lua脚本,从而提升方案的可行性。
可选地,在上述图14所对应的实施例的基础上,本申请实施例提供的应用程序更新装置30的另一实施例中,
接收模块401,还用于接收第二终端设备发送的目标Lua脚本之前,接收第二终端设备发送的第一脚本读取请求,其中,第一脚本读取请求携带有目标服务器标识以及目标服务器版本号,目标服务器标识用于指示目标内容分发网络CDN服务器,目标服务器版本号用于指示待更新Lua脚本;
发送模块405,还用于向内网服务器发送第一脚本读取请求,以使内网服务器向目标CDN服务器发送第二脚本读取请求,其中,第二脚本读取请求用于请求目标CDN服务器向内网服务器发送待更新Lua脚本,且第二脚本读取请求携带有目标服务器版本号;
接收模块401,还用于接收内网服务器发送的待更新Lua脚本;
发送模块405,还用于向第二终端设备发送待更新Lua脚本,以使第二终端设备对待更新Lua脚本进行更新,得到目标Lua脚本。
本申请实施例中,提供了一种应用程序更新装置,采用上述装置,考虑到不同地区可能运行不同服务器版本号对应的第二应用程序,因此,第二终端设备还可以向服务器请求相应服务器版本号所对应的待更新Lua脚本,由此,一方面能够有针对性地对Lua脚本进行更新,以得到目标Lua脚本。另一方面,由服务器向第二终端设备下发待更新Lua脚本,无需开发人员重新编写完整的Lua脚本,由此提升测试效率,节省人力成本。
可选地,在上述图14所对应的实施例的基础上,本申请实施例提供的应用程序更新装置30的另一实施例中,应用程序更新装置40还包括确定模块406;
发送模块405,还用于在接收模块401接收第二终端设备发送的目标Lua脚本之前,向内网服务器发送脚本同步请求,以使内网服务器向N个CDN服务器发送脚本同步请求,其中,脚本同步请求用于请求N个CDN服务器向内网服务器发送至少一个Lua脚本,N为大于或等于1的整数;
接收模块401,还用于接收并存储内网服务器发送的至少一个Lua脚本,其中,每个Lua脚本对应于一个服务器版本号;
确定模块406,用于当接收到第二终端设备发送的脚本读取请求时,根据脚本读取请求所包括的目标服务器版本号,从至少一个Lua脚本中确定待更新Lua脚本;
发送模块405,还用于向第二终端设备发送待更新Lua脚本,以使第二终端设备对待更新Lua脚本进行更新,得到目标Lua脚本。
本申请实施例中,提供了一种应用程序更新装置,采用上述装置,服务器可通过内网服务器向CDN服务器发送脚本同步请求,实现同步Lua脚本的目的,基于此,服务器将同步得到的Lua脚本存储在本地,当第二终端设备发送脚本读取请求时,服务器无需再向内网服务器请求相应的待更新Lua脚本,而是直接从本地获取待更新Lua脚本,并发送至第二终端设备。由此,提升了Lua脚本的读取效率。
本申请实施例还提供了另一种应用程序更新装置,该应用程序更新装置可部署于终端设备,如图15所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。在本申请实施例中,以终端设备为智能手机为例进行说明:
图15示出的是与本申请实施例提供的终端设备相关的智能手机的部分结构的框图。参考图15,智能手机包括:射频(radio frequency,RF)电路510、存储器520、输入单元530、显示单元540、传感器550、音频电路560、无线保真(wireless fidelity,WiFi)模块570、处理器580、以及电源590等部件。本领域技术人员可以理解,图15中示出的智能手机结构并不构成对智能手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图15对智能手机的各个构成部件进行具体的介绍:
RF电路510可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器580处理;另外,将设计上行的数据发送给基站。通常,RF电路510包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(low noiseamplifier,LNA)、双工器等。此外,RF电路510还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(globalsystem of mobile communication,GSM)、通用分组无线服务(general packet radioservice,GPRS)、码分多址(code division multiple access,CDMA)、宽带码分多址(wideband code division multiple access,WCDMA)、长期演进(long term evolution,LTE)、电子邮件、短消息服务(short messaging service,SMS)等。
存储器520可用于存储软件程序以及模块,处理器580通过运行存储在存储器520的软件程序以及模块,从而执行智能手机的各种功能应用以及数据处理。存储器520可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据智能手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元530可用于接收输入的数字或字符信息,以及产生与智能手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元530可包括触控面板531以及其他输入设备532。触控面板531,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板531上或在触控面板531附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板531可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器580,并能接收处理器580发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板531。除了触控面板531,输入单元530还可以包括其他输入设备532。具体地,其他输入设备532可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元540可用于显示由用户输入的信息或提供给用户的信息以及智能手机的各种菜单。显示单元540可包括显示面板541,可选的,可以采用液晶显示器(liquidcrystal display,LCD)、有机发光二极管(organic light-emitting diode,OLED)等形式来配置显示面板541。进一步的,触控面板531可覆盖显示面板541,当触控面板531检测到在其上或附近的触摸操作后,传送给处理器580以确定触摸事件的类型,随后处理器580根据触摸事件的类型在显示面板541上提供相应的视觉输出。虽然在图15中,触控面板531与显示面板541是作为两个独立的部件来实现智能手机的输入和输入功能,但是在某些实施例中,可以将触控面板531与显示面板541集成而实现智能手机的输入和输出功能。
智能手机还可包括至少一种传感器550,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板541的亮度,接近传感器可在智能手机移动到耳边时,关闭显示面板541和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别智能手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于智能手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路560、扬声器561,传声器562可提供用户与智能手机之间的音频接口。音频电路560可将接收到的音频数据转换后的电信号,传输到扬声器561,由扬声器561转换为声音信号输出;另一方面,传声器562将收集的声音信号转换为电信号,由音频电路560接收后转换为音频数据,再将音频数据输出处理器580处理后,经RF电路510以发送给比如另一智能手机,或者将音频数据输出至存储器520以便进一步处理。
WiFi属于短距离无线传输技术,智能手机通过WiFi模块570可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图15示出了WiFi模块570,但是可以理解的是,其并不属于智能手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器580是智能手机的控制中心,利用各种接口和线路连接整个智能手机的各个部分,通过运行或执行存储在存储器520内的软件程序和/或模块,以及调用存储在存储器520内的数据,执行智能手机的各种功能和处理数据,从而对智能手机进行整体监控。可选的,处理器580可包括一个或多个处理单元;可选的,处理器580可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器580中。
智能手机还包括给各个部件供电的电源590(比如电池),可选的,电源可以通过电源管理系统与处理器580逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,智能手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
本申请实施例中,处理器580用于执行如下步骤:
通过第一应用程序向服务器发送脚本更新请求,其中,脚本更新请求用于请求服务器获取目标下载地址,其中,脚本更新请求携带有目标脚本标识;
通过第一应用程序接收服务器发送的目标下载地址,其中,目标下载地址为目标Lua脚本的下载地址,目标Lua脚本为用于更新第二应用程序的Lua脚本;
根据目标下载地址下载目标Lua脚本,其中,目标Lua脚本存储于第一终端设备的指定目录中;
从指定目录中读取目标Lua脚本,并通过第二应用程序执行目标Lua脚本。
上述实施例中由终端设备所执行的步骤可以基于该图15所示的终端设备结构。
本申请实施例还提供了另一种应用程序更新装置,该应用程序更新装置可部署于服务器,如图15所示,图16是本申请实施例提供的一种服务器结构示意图,该服务器600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessing units,CPU)622(例如,一个或一个以上处理器)和存储器632,一个或一个以上存储应用程序642或数据644的存储介质630(例如一个或一个以上海量存储设备)。其中,存储器632和存储介质630可以是短暂存储或持久存储。存储在存储介质630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器622可以设置为与存储介质630通信,在服务器600上执行存储介质630中的一系列指令操作。
服务器600还可以包括一个或一个以上电源626,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口658,和/或,一个或一个以上操作系统641,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
本申请实施例中,CPU 622用于执行如下步骤:
接收第一终端设备通过第一应用程序发送的脚本更新请求,其中,脚本更新请求携带有目标脚本标识;
根据脚本更新请求确定目标下载地址,其中,目标下载地址为目标Lua脚本的下载地址,目标Lua脚本为用于更新第二应用程序的Lua脚本;
向第一终端设备发送目标下载地址,以使第一终端设备根据目标下载地址下载目标Lua脚本,并从指定目录中读取目标Lua脚本,通过第二应用程序执行目标Lua脚本,其中,目标Lua脚本存储于第一终端设备的指定目录中。
上述实施例中由服务器所执行的步骤可以基于该图16所示的服务器结构。
本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如前述各个实施例描述的方法。
本申请实施例中还提供一种包括程序的计算机程序产品,当其在计算机上运行时,使得计算机执行前述各个实施例描述的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (15)
1.一种应用程序的更新方法,其特征在于,包括:
通过第一应用程序向服务器发送脚本更新请求,其中,所述脚本更新请求用于请求所述服务器获取目标下载地址,其中,所述脚本更新请求携带有目标脚本标识;
通过所述第一应用程序接收所述服务器发送的所述目标下载地址,其中,所述目标下载地址为目标Lua脚本的下载地址,所述目标Lua脚本为用于更新第二应用程序的Lua脚本;
根据所述目标下载地址下载所述目标Lua脚本,其中,所述目标Lua脚本存储于所述第一终端设备的指定目录中;
从所述指定目录中读取所述目标Lua脚本,并通过所述第二应用程序执行所述目标Lua脚本。
2.根据权利要求1所述的更新方法,其特征在于,所述通过第一应用程序向服务器发送脚本更新请求之前,所述方法还包括:
显示所述第一应用程序的应用界面,其中,所述应用界面包括脚本标识输入区域、版本号输入区域以及预发布控件;
通过所述脚本标识输入区域获取所述目标脚本标识;
通过所述版本号输入区域获取目标服务器版本号;
所述通过第一应用程序向服务器发送脚本更新请求,包括:
响应针对于所述预发布控件的选择指令,通过所述第一应用程序向所述服务器发送所述脚本更新请求,其中,所述脚本更新请求还携带有所述目标服务器版本号;
所述方法还包括:
通过所述第一应用程序开启所述第二应用程序,其中,所述第二应用程序对应于所述目标服务器版本号。
3.根据权利要求2所述的更新方法,其特征在于,所述方法还包括:
若所述目标脚本标识与所述目标服务器版本号匹配失败,则通过所述第一应用程序的应用界面显示第一提示消息;
若所述目标脚本标识为无效脚本标识,则通过所述第一应用程序的应用界面显示第二提示消息;
若所述目标服务器版本号为无效服务器版本号,则通过所述第一应用程序的应用界面显示第三提示消息。
4.根据权利要求2所述的更新方法,其特征在于,所述方法还包括:
若所述脚本标识输入区域已输入所述目标脚本标识,则通过所述第一应用程序的应用界面显示服务器版本号列表,其中,所述服务器版本号列表包括至少一个服务器版本号;
所述通过所述版本号输入区域获取目标服务器版本号,包括:
响应针对于所述服务器版本号列表中所述目标服务器版本号的选择指令,在所述版本号输入区域显示所述目标服务器版本号,其中,所述目标服务器版本号包含于所述服务器版本号列表。
5.根据权利要求2所述的更新方法,其特征在于,所述方法还包括:
若所述版本号输入区域已输入所述目标服务器版本号,则通过所述第一应用程序的应用界面显示脚本标识列表,其中,所述脚本标识列表包括至少一个脚本标识;
所述通过所述脚本标识输入区域获取所述目标脚本标识,包括:
响应针对于所述脚本标识列表中所述目标脚本标识的选择指令,在所述脚本标识输入区域显示所述目标脚本标识,其中,所述目标脚本标识包含于所述脚本标识列表。
6.根据权利要求1所述的更新方法,其特征在于,所述从所述指定目录中读取所述目标Lua脚本,并通过所述第二应用程序执行所述目标Lua脚本,包括:
从所述指定目录中读取所述目标Lua脚本;
将原始Lua脚本与所述目标Lua脚本进行合并处理,得到已合并的Lua脚本;
通过所述第二应用程序执行所述已合并的Lua脚本。
7.根据权利要求1至6中任一项所述的更新方法,其特征在于,所述根据所述目标下载地址下载所述目标Lua脚本之后,所述方法还包括:
对所述目标Lua脚本进行解密处理,得到解密后的目标Lua脚本;
将所述解密后的目标Lua脚本存储于所述指定目录中;
所述从所述指定目录中读取所述目标Lua脚本,并通过所述第二应用程序执行所述目标Lua脚本,包括:
通过所述第二应用程序从所述指定目录中读取所述解密后的目标Lua脚本;
通过所述第二应用程序执行所述解密后的目标Lua脚本。
8.一种应用程序的更新方法,其特征在于,包括:
接收第一终端设备通过第一应用程序发送的脚本更新请求,其中,所述脚本更新请求携带有目标脚本标识;
根据所述脚本更新请求确定目标下载地址,其中,所述目标下载地址为目标Lua脚本的下载地址,所述目标Lua脚本为用于更新第二应用程序的Lua脚本;
向所述第一终端设备发送所述目标下载地址,以使所述第一终端设备根据所述目标下载地址下载所述目标Lua脚本,并从指定目录中读取所述目标Lua脚本,通过所述第二应用程序执行所述目标Lua脚本,其中,所述目标Lua脚本存储于所述第一终端设备的指定目录中。
9.根据权利要求8所述的更新方法,其特征在于,所述接收第一终端设备通过第一应用程序发送的脚本更新请求之前,所述方法还包括:
接收第二终端设备发送的所述目标Lua脚本;
根据所述目标Lua脚本生成所述目标脚本标识;
向所述第二终端设备发送所述目标脚本标识,以使所述第二终端设备显示所述目标脚本标识。
10.根据权利要求9所述的更新方法,其特征在于,所述接收第二终端设备发送的所述目标Lua脚本之前,所述方法还包括:
接收所述第二终端设备发送的第一脚本读取请求,其中,所述第一脚本读取请求携带有目标服务器标识以及目标服务器版本号,所述目标服务器标识用于指示目标内容分发网络CDN服务器,所述目标服务器版本号用于指示待更新Lua脚本;
向内网服务器发送所述第一脚本读取请求,以使所述内网服务器向所述目标CDN服务器发送第二脚本读取请求,其中,所述第二脚本读取请求用于请求所述目标CDN服务器向所述内网服务器发送所述待更新Lua脚本,且所述第二脚本读取请求携带有所述目标服务器版本号;
接收所述内网服务器发送的所述待更新Lua脚本;
向所述第二终端设备发送所述待更新Lua脚本,以使所述第二终端设备对所述待更新Lua脚本进行更新,得到所述目标Lua脚本。
11.根据权利要求9所述的更新方法,其特征在于,所述接收第二终端设备发送的所述目标Lua脚本之前,所述方法还包括:
向内网服务器发送脚本同步请求,以使所述内网服务器向N个CDN服务器发送所述脚本同步请求,其中,所述脚本同步请求用于请求所述N个CDN服务器向所述内网服务器发送至少一个Lua脚本,所述N为大于或等于1的整数;
接收并存储所述内网服务器发送的所述至少一个Lua脚本,其中,每个Lua脚本对应于一个服务器版本号;
当接收到所述第二终端设备发送的脚本读取请求时,根据所述脚本读取请求所包括的目标服务器版本号,从所述至少一个Lua脚本中确定待更新Lua脚本;
向所述第二终端设备发送待更新Lua脚本,以使所述第二终端设备对所述待更新Lua脚本进行更新,得到所述目标Lua脚本。
12.一种应用程序更新装置,其特征在于,包括:
发送模块,用于通过第一应用程序向服务器发送脚本更新请求,其中,所述脚本更新请求用于请求所述服务器获取目标下载地址,其中,所述脚本更新请求携带有目标脚本标识;
接收模块,用于通过所述第一应用程序接收所述服务器发送的所述目标下载地址,其中,所述目标下载地址为目标Lua脚本的下载地址,所述目标Lua脚本为用于更新第二应用程序的Lua脚本;
下载模块,用于根据所述目标下载地址下载所述目标Lua脚本,其中,所述目标Lua脚本存储于所述第一终端设备的指定目录中;
更新模块,用于从所述指定目录中读取所述目标Lua脚本,并通过所述第二应用程序执行所述目标Lua脚本。
13.一种应用程序更新装置,其特征在于,包括:
接收模块,用于接收第一终端设备通过第一应用程序发送的脚本更新请求,其中,所述脚本更新请求携带有目标脚本标识;
确定模块,用于根据所述脚本更新请求确定目标下载地址,其中,所述目标下载地址为目标Lua脚本的下载地址,所述目标Lua脚本为用于更新第二应用程序的Lua脚本;
更新模块,用于向所述第一终端设备发送所述目标下载地址,以使所述第一终端设备根据所述目标下载地址下载所述目标Lua脚本,并从指定目录中读取所述目标Lua脚本,通过所述第二应用程序执行所述目标Lua脚本,其中,所述目标Lua脚本存储于所述第一终端设备的指定目录中。
14.一种计算机设备,其特征在于,包括:存储器、处理器以及总线系统;
其中,所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序,所述处理器用于根据程序代码中的指令执行权利要求1至7中任一项所述的更新方法,或者,执行如权利要求8至11中任一项所述的更新方法;
所述总线系统用于连接所述存储器以及所述处理器,以使所述存储器以及所述处理器进行通信。
15.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1至7中任一项所述的更新方法,或者,执行如权利要求8至11中任一项所述的更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110679692.7A CN113238785B (zh) | 2021-06-18 | 2021-06-18 | 一种应用程序的更新方法、相关装置、设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110679692.7A CN113238785B (zh) | 2021-06-18 | 2021-06-18 | 一种应用程序的更新方法、相关装置、设备以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113238785A true CN113238785A (zh) | 2021-08-10 |
CN113238785B CN113238785B (zh) | 2023-10-20 |
Family
ID=77140328
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110679692.7A Active CN113238785B (zh) | 2021-06-18 | 2021-06-18 | 一种应用程序的更新方法、相关装置、设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113238785B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114917577A (zh) * | 2022-06-07 | 2022-08-19 | 北京蔚领时代科技有限公司 | 云游戏数据更新方法、装置、电子设备及存储介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130263083A1 (en) * | 2012-04-02 | 2013-10-03 | Kony Solutions, Inc. | Systems and methods for application development |
CN106095458A (zh) * | 2016-06-20 | 2016-11-09 | 腾讯科技(深圳)有限公司 | 一种应用程序中插件的管理方法和装置 |
CN108304205A (zh) * | 2018-01-30 | 2018-07-20 | 努比亚技术有限公司 | 一种应用程序的更新方法、终端及计算机可读存储介质 |
CN108399074A (zh) * | 2018-01-30 | 2018-08-14 | 努比亚技术有限公司 | 一种应用程序的更新方法、终端及计算机可读存储介质 |
CN108845812A (zh) * | 2018-05-31 | 2018-11-20 | 康键信息技术(深圳)有限公司 | 插件更新方法、装置、计算机设备和存储介质 |
CN108958780A (zh) * | 2018-09-30 | 2018-12-07 | 上海掌门科技有限公司 | 一种用于呈现寄宿程序的更新信息的方法与设备 |
CN109857432A (zh) * | 2019-01-14 | 2019-06-07 | 珠海金山网络游戏科技有限公司 | 一种游戏应用的热更新方法和装置 |
CN109992501A (zh) * | 2017-12-29 | 2019-07-09 | 阿里巴巴集团控股有限公司 | 小程序的可用性检查、可用小程序列表生成方法和装置 |
CN110413292A (zh) * | 2019-07-22 | 2019-11-05 | 深圳证券交易所 | 应用程序的轻应用安装方法、移动终端及存储介质 |
CN110659057A (zh) * | 2019-09-24 | 2020-01-07 | 腾讯科技(深圳)有限公司 | 应用程序热更新方法、装置、存储介质及计算机设备 |
CN111192578A (zh) * | 2019-12-28 | 2020-05-22 | 惠州Tcl移动通信有限公司 | 应用控制方法、装置、存储介质及电子设备 |
CN111212183A (zh) * | 2019-12-12 | 2020-05-29 | 上海连尚网络科技有限公司 | 一种用于运行寄宿应用的方法与设备 |
CN111611022A (zh) * | 2020-04-26 | 2020-09-01 | 支付宝(杭州)信息技术有限公司 | 小程序应用的数据处理方法、装置、设备及系统 |
-
2021
- 2021-06-18 CN CN202110679692.7A patent/CN113238785B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130263083A1 (en) * | 2012-04-02 | 2013-10-03 | Kony Solutions, Inc. | Systems and methods for application development |
CN106095458A (zh) * | 2016-06-20 | 2016-11-09 | 腾讯科技(深圳)有限公司 | 一种应用程序中插件的管理方法和装置 |
CN109992501A (zh) * | 2017-12-29 | 2019-07-09 | 阿里巴巴集团控股有限公司 | 小程序的可用性检查、可用小程序列表生成方法和装置 |
CN108304205A (zh) * | 2018-01-30 | 2018-07-20 | 努比亚技术有限公司 | 一种应用程序的更新方法、终端及计算机可读存储介质 |
CN108399074A (zh) * | 2018-01-30 | 2018-08-14 | 努比亚技术有限公司 | 一种应用程序的更新方法、终端及计算机可读存储介质 |
CN108845812A (zh) * | 2018-05-31 | 2018-11-20 | 康键信息技术(深圳)有限公司 | 插件更新方法、装置、计算机设备和存储介质 |
CN108958780A (zh) * | 2018-09-30 | 2018-12-07 | 上海掌门科技有限公司 | 一种用于呈现寄宿程序的更新信息的方法与设备 |
CN109857432A (zh) * | 2019-01-14 | 2019-06-07 | 珠海金山网络游戏科技有限公司 | 一种游戏应用的热更新方法和装置 |
CN110413292A (zh) * | 2019-07-22 | 2019-11-05 | 深圳证券交易所 | 应用程序的轻应用安装方法、移动终端及存储介质 |
CN110659057A (zh) * | 2019-09-24 | 2020-01-07 | 腾讯科技(深圳)有限公司 | 应用程序热更新方法、装置、存储介质及计算机设备 |
CN111212183A (zh) * | 2019-12-12 | 2020-05-29 | 上海连尚网络科技有限公司 | 一种用于运行寄宿应用的方法与设备 |
CN111192578A (zh) * | 2019-12-28 | 2020-05-22 | 惠州Tcl移动通信有限公司 | 应用控制方法、装置、存储介质及电子设备 |
CN111611022A (zh) * | 2020-04-26 | 2020-09-01 | 支付宝(杭州)信息技术有限公司 | 小程序应用的数据处理方法、装置、设备及系统 |
Non-Patent Citations (1)
Title |
---|
马超: "基于Lua动态脚本语言Cocos2d-x应用开发的技术研究", 《软件工程师》, pages 1 - 3 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114917577A (zh) * | 2022-06-07 | 2022-08-19 | 北京蔚领时代科技有限公司 | 云游戏数据更新方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113238785B (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107786504B (zh) | Elf文件发布方法、elf文件校验方法、服务器及终端 | |
CN106598584B (zh) | 一种处理资源文件的方法、装置和系统 | |
US9244993B1 (en) | Management of application state data | |
US11669342B2 (en) | Profile transmission method, related device, and storage medium | |
US10824449B2 (en) | Application running method and device | |
CN105357323A (zh) | 一种app中html5页面调试方法及装置 | |
CN111142930A (zh) | 安装包文件打包方法、装置、终端设备及存储介质 | |
CN104424431B (zh) | 一种重置虚拟机用户登陆密码的方法及装置 | |
KR20170061664A (ko) | 컨테이너화된 작업공간 환경에서 그것의 실행을 제어하기 위하여 안드로이드 애플리케이션 라이프 사이클을 수정하기 위한 방법 | |
KR20150064063A (ko) | 컴퓨팅 장치의 보안 식별 및 보안 식별 방법 | |
CN109753793B (zh) | 一种热补丁方法及热补丁装置 | |
CN107992308A (zh) | 一种安卓终端应用程序的插件化管理方法 | |
CN106713608B (zh) | 应用的功能状态修改方法、装置及终端 | |
CN107919964B (zh) | 一种基于动态认证信息进行数据同步的方法及系统 | |
CN106953898B (zh) | 一种获取软件包的方法和装置 | |
CN110543789A (zh) | 手柄与第三方应用程序进行适配的方法、装置及存储介质 | |
CN112286586B (zh) | 一种插件的配置方法及相关设备 | |
CN110609694A (zh) | 一种bug的修复方法、装置、终端设备及存储介质 | |
CN112394906B (zh) | 一种应用切换运行的方法及设备 | |
CN113238785B (zh) | 一种应用程序的更新方法、相关装置、设备以及存储介质 | |
CN112463199A (zh) | 一种系统升级方法及终端 | |
US20240086180A1 (en) | Safe modular upgrades | |
CN109145598B (zh) | 脚本文件的病毒检测方法、装置、终端及存储介质 | |
CN108737341B (zh) | 业务处理方法、终端及服务器 | |
CN113742716B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |