CN109375932A - 一种app热修复脚本构建的方法、装置、终端及存储介质 - Google Patents

一种app热修复脚本构建的方法、装置、终端及存储介质 Download PDF

Info

Publication number
CN109375932A
CN109375932A CN201811089660.6A CN201811089660A CN109375932A CN 109375932 A CN109375932 A CN 109375932A CN 201811089660 A CN201811089660 A CN 201811089660A CN 109375932 A CN109375932 A CN 109375932A
Authority
CN
China
Prior art keywords
hot repair
answered
script
app
file
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
Application number
CN201811089660.6A
Other languages
English (en)
Other versions
CN109375932B (zh
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.)
Guangzhou Huya Information Technology Co Ltd
Original Assignee
Guangzhou Huya Information 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 Guangzhou Huya Information Technology Co Ltd filed Critical Guangzhou Huya Information Technology Co Ltd
Priority to CN201811089660.6A priority Critical patent/CN109375932B/zh
Publication of CN109375932A publication Critical patent/CN109375932A/zh
Application granted granted Critical
Publication of CN109375932B publication Critical patent/CN109375932B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities

Abstract

本发明公开了一种APP热修复脚本构建的方法、装置、终端及存储介质。压缩APP热修复脚本文件和预先编辑的所述APP热修复脚本文件的配置文件,加密压缩后的APP热修复脚本文件和压缩后的配置文件并生成公钥密码;将所述公钥密码、加密后的APP热修复脚本文件和加密后的配置文件打包成数据包;将所述数据包上传至服务器。本申请提供的APP热修复脚本构建的方法可以通过运行自定义的脚本自动实现热修复APP热修复脚本文件的压缩、加密、打包及上传至服务器的整个过程,可以减少手动操作、提高开发效率。

Description

一种APP热修复脚本构建的方法、装置、终端及存储介质
技术领域
本发明涉及通信技术领域,尤其涉及一种APP热修复脚本构建的方法、装置、终端及存储介质。
背景技术
通常APP发版后出现bug或者是有临时的紧急需求时,都是通过APP热修复脚本对APP进行修复以实现相关的业务功能。目前JSPatch平台提供了iOS APP热更新服务,APP接入JSPatch平台后,可以随时下发修复脚本,实时修复线上bug。一般在将APP修复脚本上传到服务器之前,需要对修复脚本进行压缩加密处理后再打包上传,通过压缩处理可以减少脚本大小,提升用户从服务器下载APP热修复脚本时的效率并减少用户流量损耗,通过加密处理,可以提高脚本的安全性。目前,对APP热修复脚本的压缩、加密、打包以及上传到服务器的过程都是通过手动一个一个依次进行的,效率较低,且手动打包过程中也易出现人为错误。
发明内容
为克服相关技术中存在的问题,本发明提供了一种APP热修复脚本构建的方法、装置、终端及存储介质。
首先,本发明提供了一种APP热修复脚本构建的方法,所述方法用于APP热修复脚本的构建,包括:
压缩APP热修复脚本文件和预先编辑的所述APP热修复脚本文件的配置文件;
加密压缩后的APP热修复脚本文件和压缩后的配置文件并生成公钥密码;
将所述公钥密码、加密后的APP热修复脚本文件和加密后的配置文件打包成数据包;
将所述数据包上传至服务器。
在一个实施例中,所述配置文件包括:APP热修复脚本文件的描述、发布有效时间、发布版本号和/或发布指定IOS系统信息。
在一个实施例中,所述压缩APP热修复脚本文件和预先编辑的所述APP热修复脚本文件的配置文件的具体步骤包括:
通过谷歌闭包编译器压缩工具压缩所述APP热修复脚本文件;
通过ZIP压缩工具压缩所述配置文件并二次压缩所述APP热修复脚本文件。
在一个实施例中,所述通过谷歌闭包编译器压缩工具压缩所述APP热修复脚本文件通过模拟用户访问浏览器请求实现,具体步骤包括:
向服务器发送一个压缩所述APP热修复脚本文件的HTTP的post请求;其中,所述请求的消息头和消息体的信息模仿用户访问浏览器的参数信息;
接收服务器返回的压缩后的APP热修复脚本文件。
在一个实施例中,所述加密压缩后的APP热修复脚本文件和压缩后的配置文件并生成公钥密码的具体步骤包括:
通过AES双向加密算法加密压缩后的APP热修复脚本文件,生成第一公钥密码;
将所述第一公钥密码存放到所述配置文件中;
通过AES双向加密算法加密添加有第一公钥密码的配置文件,生成第二公钥密码。
在一个实施例中,所述将所述数据包上传至服务器通过模拟用户访问浏览器请求实现,具体步骤包括:
向服务器发送一个上传所述数据包的HTTP的post请求;其中,所述请求消息头和消息体的信息模仿用户访问浏览器的参数信息。
本申请还提供了一种脚本构建的装置,所述装置包括:
压缩模块,用于压缩APP热修复脚本文件和预先编辑的所述APP热修复脚本文件的配置文件;
加密模块,加密压缩后的APP热修复脚本文件和配置文件;
打包模块,将加密后的APP热修复脚本文件和配置文件打包成数据包;
上传模块,将所述数据包上传至服务器。
在一个实施例中,所述加密模块加密压缩后的APP热修复脚本文件和配置文件具体包括:
通过AES双向加密算法加密压缩后的APP热修复脚本文件,生成第一公钥密码;
将所述第一公钥密码存放到所述配置文件中;
通过AES双向加密算法加密添加有第一公钥密码的配置文件,生成第二公钥密码。
另外,本申请还提供了一种终端,所述终端用于构建APP热修复脚本,所述终端包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现以下步骤:
压缩APP热修复脚本文件和预先编辑的所述APP热修复脚本文件的配置文件;
加密压缩后的APP热修复脚本文件和压缩后的配置文件并生成公钥密码;
将所述公钥密码、加密后的APP热修复脚本文件和加密后的配置文件打包成数据包;
将所述数据包上传至服务器。
进一步的,本申请还提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
压缩APP热修复脚本文件和预先编辑的所述APP热修复脚本文件的配置文件;
加密压缩后的APP热修复脚本文件和压缩后的配置文件并生成公钥密码;
将所述公钥密码、加密后的APP热修复脚本文件和加密后的配置文件打包成数据包;
将所述数据包上传至服务器。
本发明的实施例提供的技术方案可以包括以下有益效果:通过运行自定义的一个脚本,可以压缩APP热修复脚本文件和预先编辑的所述APP热修复脚本文件的配置文件,加密压缩后的APP热修复脚本文件和压缩后的配置文件并生成公钥密码,将所述公钥密码、加密后的APP热修复脚本文件和加密后的配置文件打包成数据包,再将所述数据包上传至服务器。整个APP热修复脚本文件的压缩、加密、打包过程实现自动化,可以减少手动操作、提高开发效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是本发明根据一示例性实施例示出的一种APP热修复脚本构建方法流程图;
图2是本发明根据一示例性实施例示出的一种APP热修复脚本构建方法流程图;
图3是本发明根据一示例性实施例示出的一种APP热修复脚本构建方法流程图;
图4是本发明根据一示例性实施例示出的一种APP热修复脚本构建方法流程图;
图5是本发明根据一示例性实施例示出的一种APP热修复脚本构建方法流程图;
图6是本发明根据一示例性实施例示出的一种APP热修复脚本构建装置的逻辑框图;
图7是本发明根据一示例性实施例示出的一种APP热修复脚本构建终端设备的逻辑框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
通常APP发版后出现bug或者是有临时的紧急需求时,都是通过APP热修复脚本对APP进行修复以实现相关的业务功能。目前JSPatch平台提供了iOSAPP热更新服务,APP接入JSPatch平台后,可以随时下发修复脚本,实时修复线上bug。由于APP热修复APP热修复脚本文件较大,在上传至服务器或用户从服务器下载时效率会比较低,且耗费流量,另外明文脚本安全性也不高,所以在APP热修复脚本编译好后,一般需要经过压缩、加密、打包然后再上传到云端服务器,这一整个过程称为脚本的构建。目前,APP热修复脚本的压缩、打包、上传的过程都是要研发人员手动操作去实现,比如手动将脚本压缩后再手动加密打包上传至云端服务器,这种方式效率比较低,且在打包过程中还容易出现错误。
为了解决上述问题,本申请提供了一种脚本的构建方法,可以自动实现将脚本压缩、加密、打包然后上传到云端服务器的整个过程。本申请提供的APP热修复脚本构建的方法如图1所示,包括以下步骤:
S101、压缩APP热修复脚本文件和预先编辑的所述APP热修复脚本文件的配置文件;
S102、加密压缩后的APP热修复脚本文件和压缩后的配置文件并生成公钥密码;
S103、将所述公钥密码、加密后的APP热修复脚本文件和加密后的配置文件打包成数据包;
S104、将所述数据包上传至服务器。
本申请所提供的一种APP热修复脚本的构建方法,是通过自定义的脚本来实现的,运行脚本即可以实现将APP热修复脚本压缩、加密、打包并上传到服务器的整个过程。
一般在上传APP热修复脚本时,除了上传APP热修复脚本代码,还需要将APP热修复脚本文件的相关配置信息一并上传到服务器,所以在编译好APP热修复APP热修复脚本文件后,还需要制作一个配置文件。配置文件包括多条配置信息,每条配置信息存储APP热修复脚本文件的对应核心脚本文件的描述、发布有效时间、发布版本号、公钥密码信息、发布指定iOS系统信息等,以便用户在使用时按照指定条件去使用APP热修复脚本对APP进行修复以实现具体业务功能,例如使用配置文件中的公钥密码解密文件,查找对应版本号区别热修复脚本的版本,或者可以查看到脚本的具体发布时间。
由于APP热修复脚本代码比较大,如果直接上传到服务器,在研发人员上传时或者用户在下载APP热修复脚本时,会比较耗时,效率较低。而且也会耗费用户下载热修复脚本的流量,给用户带来不好的体验,所以一般会将APP热修复脚本和对应的配置文件先进行压缩处理。压缩的方式可以根据实际需求具体设定,比如可以使用Zip压缩工具压缩,360压缩工具压缩,谷歌闭包编译器(Google Closure Compiler)压缩工具压缩,当然压缩的次数也可以根据实际情况来设定,可以用同一压缩工具进行一次压缩,也可以用同一压缩工具进行两次或多次压缩,或者是使用不同的压缩工具进行两次或多次压缩。比如可以先用谷歌闭包编译器压缩工具压缩,然后再用360压缩工具压缩,或者用谷歌闭包编译器压缩工具压缩进行两次压缩。
在一个实施例中,如图2所示,可以先将较大的APP热修复脚本文件通过谷歌闭包编译器压缩工具进行压缩(S201),谷歌闭包编译器压缩工具有较高的压缩比率,其压缩率一般为普通压缩工具的2倍,非常适合用于压缩体积较大的APP热修复脚本文件,经其压缩后可以大大减小热修复脚本的体积,并还可以混淆脚本,对脚本有一定的加密作用。由于配置文件无法用谷歌闭包编译器压缩工具进行压缩,所以可以通过Zip工具对配置文件进行压缩处理以减小配置文件的体积(S202),并且将谷歌闭包编译器压缩工具压缩后的APP热修复脚本文件再通过ZIP压缩工具进行二次压缩(S203),可以进一步减小热修复脚本的体积。通过这种方式将热修复脚本和配置文件压缩后,可以很大程度减小APP热修复脚本文件和配置文件的体积,提高上传和下载APP热修复脚本文件的效率。
由于谷歌闭包编译器压缩工具目前尚未开源,不能直接用代码实现,目前都是手动将需要压缩的文件上传到谷歌闭包编译器在线压缩工具后再实现压缩。而本申请的压缩过程需要实现自动化,要通过自定义的脚本实现谷歌闭包编译器压缩工具将APP热修复脚本文件压缩。如果直接通过代码向服务器发送压缩请求,服务器会将该请求认为是机器请求,并且将该请求屏蔽掉,以致无法实现通过谷歌闭包编译器在线压缩工具自动压缩的过程。为了解决这个问题,在一个实施例中,可以通过模拟用户访问浏览器请求实现自动压缩,具体过程如图3所示,向服务器发送一个压缩APP热修复脚本文件的HTTP的post请求(S301);其中,所述请求的消息头和消息体的信息需要浏览器的参数信息去填写,这样Google的服务器收到这样一个请求后会认为是用户的真实请求,而不是机器请求,就会返回压缩后的APP热修复脚本文件。如果不模拟用户访问浏览器的请求,Google服务器就会认为是机器请求,然后将其屏蔽掉,以致无法实现自动压缩。服务器响应所述HTTP请求后,即可接收服务器返回的压缩后的APP热修复脚本文件(S302)。
编译好的热修复脚本通常都是明文代码,如果不进行加密处理,竞争对手很容易就可以看到代码文件,产生不利后果。基于对APP热修复脚本文件的安全性的考虑,再对APP热修复脚本文件和配置文件进行压缩后,还需要进行加密处理,以提高APP热修复脚本文件的安全性。当然,具体的加密方式本申请不作限定,可以通过MD5算法、DES算法、AES算法、谷歌闭包编译器等加密算法对APP热修复脚本文件和配置文件加密,或者是采用其中一种或多种算法组合加密。比如可以通过AES算法将APP热修复脚本文件和配置文件加密,生成公钥密码,再将公钥密码通过MD5算法进行加密,通过对文件公钥密码双重加密提供安全性,或者可以将APP热修复脚本文件用谷歌闭包编译器算法加密,将配文件AES算法加密,或者是将APP热修复脚本文件和配置文件通过AES算法加密后再通过DES算法加密。容易理解,通过类似的组合和变换的加密方式都在本申请的保护范围之内。
由于目前有些加密算法比较容易被破解,尤其类似于DES这种单向的加密算法,安全性较低。比如现有的热修复脚本开源技术加密方案只是通过DES单向加密,加密方式很简单,而且方案已经开源,很容易通过破解安装包反向破解加密脚本获取明文,因而通过这种加密方式加密后的APP热修复脚本文件安全性还是不太高。在一个实施例中,本申请提供了一种安全性比较高的加密方式,具体实现步骤如图4所示,首选,通过AES双向加密算法加密压缩后的APP热修复脚本文件,生成第一公钥密码,APP热修复脚本文件经AES双向加密后会生成一个公钥密码(S401),此公钥密码可以用于解密APP热修复脚本文件,然后将第一公钥密码存放到配置文件中(S402),再通过AES双向加密算法加密添加有第一公钥密码的配置文件,生成第二公钥密码(S403)。将脚本代码加密后生成的第一公钥密码存放到配置文件中,与APP热修复脚本文件分开存放,然后配置文件本身又经AES加密后保存,配置文件加密后的第二公钥密码是从服务器下发的,这种多重复合的加密方式可以极大提高APP热修复脚本文件的安全性。
将APP热修复脚本文件、配置文件压缩加密后,还需要将压缩加密处理的APP热修复脚本文件、配置文件以及加密后生成的公钥密码进行打包处理,将这些文件打包后会生成一个数据包,然后将数据包上传到云端服务器,以便用户下载使用。
现有技术中,将数据包上传到服务器都是通过研发人员手动上传的,由于本申请为了实现通过运行脚本代码自动上传,如果直接通过代码向服务器发送请求,服务器会认为是机器请求,从而该请求会被服务器屏蔽掉。所以,自动上传数据包同样需要通过模拟用户访问浏览器的请求来实现。具体实现步骤为:向服务器发送一个上传数据包的HTTP的post请求,其中,所述请求的消息头和消息体的信息是模仿用户访问浏览器的参数信息设置的,服务器接收到HTTP请求后,会认为该请求是真实的用户请求,因而会响应该请求,所以能够将数据包上传至服务器。
为了进一步解释本申请提供的构建APP热修复脚本的方法,以下再用一个具体的实施例加以解释说明。
比如某直播APP在世界杯期间需要在APP中加入一个赛事播报功能,因而编译了一个APP热修复脚本文件,需要将该APP热修复脚本文件上传到服务器实现APP在线修复。将整个APP热修复脚本文件的构建过程可以通过自定义的脚本实现,该脚本由Python语言编写,运行该脚本时,可以自动实现APP热修复脚本文件的压缩、加密、打包及上传至服务器的过程。具体步骤如图5所示,预先编辑好APP热修复脚本文件相对应的配置文件(S501),配置文件中包含了APP热修复脚本文件的描述、下发有效时间、下发版本号、下发指定iOS系统信息。模拟一个用户访问浏览器的请求,将APP热修复脚本文件通过谷歌闭包编译器压缩工具压缩(S502),然后用ZIP压缩工具对压缩后的APP热修复脚本文件二次压缩(S503),并用ZIP压缩工具压缩配置文件(S504)。将压缩后的APP热修复脚本文件用AES算法加密,生成第一公钥密码(S505),将第一公钥密码存放到配置文件中(S506),然后用AES算法将配置文件加密并生成第二公钥密码(S507)。将加密后的APP热修复脚本文件、配置文件、第二公钥密码打包成数据包(S508)。通过模拟一个用户访问浏览器请求,将数据包自动上传到服务器,完成热修复脚本的构建(S509)。
与上述APP热修复脚本构建的方法实施例相对应,本申请还提供了一种APP热修复脚本构建的装置,所述装置如图6所示,具体包括:
压缩模块601,用于压缩APP热修复脚本文件和预先编辑的所述APP热修复脚本文件的配置文件;
加密模块602,加密压缩后的APP热修复脚本文件和配置文件;
打包模块603,将加密后的APP热修复脚本文件和配置文件打包成数据包;
上传模块604,将所述数据包上传至服务器。
其中,配置文件包括:APP热修复脚本文件的描述、发布有效时间、发布版本号、公钥密码信息、和/或发布指定IOS系统信息。
压缩模块压缩APP热修复脚本文件和预先编辑的APP热修复脚本文件的配置文件的具体步骤包括:通过谷歌闭包编译器压缩工具压缩所述APP热修复脚本文件,然后通过ZIP压缩工具压缩所述配置文件并二次压缩所述APP热修复脚本文件。
其中,通过谷歌闭包编译器压缩工具压缩所述APP热修复脚本文件可以通过模拟用户访问浏览器请求实现,具体步骤包括:
向服务器发送一个压缩所述APP热修复脚本文件的HTTP的post请求;其中,所述请求的消息头和消息体的信息模仿用户访问浏览器的参数信息;
接收服务器返回的压缩后的APP热修复脚本文件。
其中,加密模块加密压缩后的APP热修复脚本文件和压缩后的配置文件并生成公钥密码的具体步骤包括:
通过AES双向加密算法加密压缩后的APP热修复脚本文件,生成第一公钥密码;
将所述第一公钥密码添加到所述配置文件中;
通过AES双向加密算法加密添加有第一公钥密码的配置文件,生成第二公钥密码。
上传模块将数据包上传至服务器可以通过模拟用户访问浏览器请求实现,具体步骤包括:
向服务器发送一个上传所述数据包的HTTP的post请求;其中,所述请求的消息头和消息体的信息模仿用户访问浏览器的参数信息;
将所述数据包上传至服务器。
上述设备中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
另外,本申请还提供了一种终端,所述终端可以用于所述终端用于构建脚本,如图7所示,所述终端700包括:
存储器701,用于存储计算机程序;
处理器702,用于执行所述计算机程序时实现以下步骤:
压缩APP热修复脚本文件和预先编辑的所述APP热修复脚本文件的配置文件;
加密压缩后的APP热修复脚本文件和压缩后的配置文件并生成公钥密码;
将所述公钥密码、加密后的APP热修复脚本文件和加密后的配置文件打包成数据包;
将所述数据包上传至服务器。
进一步的,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
压缩APP热修复脚本文件和预先编辑的所述APP热修复脚本文件的配置文件;
加密压缩后的APP热修复脚本文件和压缩后的配置文件并生成公钥密码;
将所述公钥密码、加密后的APP热修复脚本文件和加密后的配置文件打包成数据包;
将所述数据包上传至服务器。
本申请对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (10)

1.一种APP热修复脚本构建的方法,其特征在于,所述方法包括:
压缩APP热修复脚本文件和预先编辑的所述APP热修复脚本文件的配置文件;
加密压缩后的APP热修复脚本文件和压缩后的配置文件并生成公钥密码;
将所述公钥密码、加密后的APP热修复脚本文件和加密后的配置文件打包成数据包;
将所述数据包上传至服务器。
2.如权利要求1所述的一种APP热修复脚本构建的方法,其特征在于,所述配置文件包括:APP热修复脚本文件的描述、发布有效时间、发布版本号和/或发布指定IOS系统信息。
3.如权利要求1所述的一种APP热修复脚本构建的方法,其特征在于,所述压缩APP热修复脚本文件和预先编辑的所述APP热修复脚本文件的配置文件的具体步骤包括:
通过谷歌闭包编译器压缩工具压缩所述APP热修复脚本文件;
通过ZIP压缩工具压缩所述配置文件并二次压缩所述APP热修复脚本文件。
4.如权利要求3所述的一种APP热修复脚本构建的方法,其特征在于,所述通过谷歌闭包编译器压缩工具压缩所述APP热修复脚本文件通过模拟用户访问浏览器请求实现,具体步骤包括:
向服务器发送一个压缩所述APP热修复脚本文件的HTTP的post请求;其中,所述请求的消息头和消息体的信息模仿用户访问浏览器的参数信息;
接收服务器返回的压缩后的APP热修复脚本文件。
5.如权利要求1所述的一种APP热修复脚本构建的方法,其特征在于,所述加密压缩后的APP热修复脚本文件和压缩后的配置文件并生成公钥密码的具体步骤包括:
通过AES双向加密算法加密压缩后的APP热修复脚本文件,生成第一公钥密码;
将所述第一公钥密码存放到所述配置文件中;
通过AES双向加密算法加密添加有第一公钥密码的配置文件,生成第二公钥密码。
6.如权利要求1所述的一种APP热修复脚本构建的方法,其特征在于,所述将所述数据包上传至服务器通过模拟用户访问浏览器请求实现,具体步骤包括:
向服务器发送一个上传所述数据包的HTTP的post请求;其中,所述请求消息头和消息体的信息模仿用户访问浏览器的参数信息。
7.一种APP热修复脚本构建的装置,其特征在于,所述装置包括:
压缩模块,用于压缩APP热修复脚本文件和预先编辑的所述APP热修复脚本文件的配置文件;
加密模块,加密压缩后的APP热修复脚本文件和配置文件;
打包模块,将加密后的APP热修复脚本文件和配置文件打包成数据包;
上传模块,将所述数据包上传至服务器。
8.如权利要求7所述的一种APP热修复脚本构建的装置,其特征在于,所述加密模块加密压缩后的APP热修复脚本文件和配置文件具体包括:
通过AES双向加密算法加密压缩后的APP热修复脚本文件,生成第一公钥密码;
将所述第一公钥密码存放到所述配置文件中;
通过AES双向加密算法加密添加有第一公钥密码的配置文件,生成第二公钥密码。
9.一种终端,所述终端用于构建APP修复脚本,其特征在于,所述终端包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述的APP热修复脚本构建的方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述APP热修复脚本构建的方法步骤。
CN201811089660.6A 2018-09-18 2018-09-18 一种app热修复脚本构建的方法、装置、终端及存储介质 Active CN109375932B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811089660.6A CN109375932B (zh) 2018-09-18 2018-09-18 一种app热修复脚本构建的方法、装置、终端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811089660.6A CN109375932B (zh) 2018-09-18 2018-09-18 一种app热修复脚本构建的方法、装置、终端及存储介质

Publications (2)

Publication Number Publication Date
CN109375932A true CN109375932A (zh) 2019-02-22
CN109375932B CN109375932B (zh) 2022-03-01

Family

ID=65405658

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811089660.6A Active CN109375932B (zh) 2018-09-18 2018-09-18 一种app热修复脚本构建的方法、装置、终端及存储介质

Country Status (1)

Country Link
CN (1) CN109375932B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112528324A (zh) * 2020-12-09 2021-03-19 深圳市快付通金融网络科技服务有限公司 应用系统的上线方法、装置及计算机存储介质
CN113434884A (zh) * 2021-06-30 2021-09-24 青岛海尔科技有限公司 一种配置文件的加密方法、解密方法和相关装置
CN114025333A (zh) * 2021-11-01 2022-02-08 中国电信股份有限公司甘肃分公司 一种流量配置方法、装置及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103677876A (zh) * 2012-09-12 2014-03-26 中兴通讯股份有限公司 一种软件安装包制作安装方法、设备及系统
CN103699410A (zh) * 2013-12-20 2014-04-02 北京奇虎科技有限公司 一种应用程序的更新方法和装置
CN104348912A (zh) * 2014-10-27 2015-02-11 深圳市同洲电子股份有限公司 一种处理文件的方法及设备
CN106155651A (zh) * 2015-03-31 2016-11-23 广州四三九九信息科技有限公司 应用程序版本的自动化发布及更新的方法和系统
CN106528229A (zh) * 2016-11-03 2017-03-22 北京像素软件科技股份有限公司 一种游戏热更新方法及装置
CN107391171A (zh) * 2017-06-14 2017-11-24 广东网金控股股份有限公司 一种解决iOS热修复问题的方法以及用户终端
CN107729045A (zh) * 2017-09-30 2018-02-23 武汉汉思信息技术有限责任公司 应用程序自动化版本发布方法及系统
CN108037946A (zh) * 2017-11-03 2018-05-15 金证财富南京科技有限公司 一种应用程序热更新的方法、系统及服务器
CN108399080A (zh) * 2018-03-05 2018-08-14 深圳市华讯方舟软件信息有限公司 一种Android App热更新方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103677876A (zh) * 2012-09-12 2014-03-26 中兴通讯股份有限公司 一种软件安装包制作安装方法、设备及系统
CN103699410A (zh) * 2013-12-20 2014-04-02 北京奇虎科技有限公司 一种应用程序的更新方法和装置
CN104348912A (zh) * 2014-10-27 2015-02-11 深圳市同洲电子股份有限公司 一种处理文件的方法及设备
CN106155651A (zh) * 2015-03-31 2016-11-23 广州四三九九信息科技有限公司 应用程序版本的自动化发布及更新的方法和系统
CN106528229A (zh) * 2016-11-03 2017-03-22 北京像素软件科技股份有限公司 一种游戏热更新方法及装置
CN107391171A (zh) * 2017-06-14 2017-11-24 广东网金控股股份有限公司 一种解决iOS热修复问题的方法以及用户终端
CN107729045A (zh) * 2017-09-30 2018-02-23 武汉汉思信息技术有限责任公司 应用程序自动化版本发布方法及系统
CN108037946A (zh) * 2017-11-03 2018-05-15 金证财富南京科技有限公司 一种应用程序热更新的方法、系统及服务器
CN108399080A (zh) * 2018-03-05 2018-08-14 深圳市华讯方舟软件信息有限公司 一种Android App热更新方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112528324A (zh) * 2020-12-09 2021-03-19 深圳市快付通金融网络科技服务有限公司 应用系统的上线方法、装置及计算机存储介质
CN113434884A (zh) * 2021-06-30 2021-09-24 青岛海尔科技有限公司 一种配置文件的加密方法、解密方法和相关装置
CN114025333A (zh) * 2021-11-01 2022-02-08 中国电信股份有限公司甘肃分公司 一种流量配置方法、装置及存储介质

Also Published As

Publication number Publication date
CN109375932B (zh) 2022-03-01

Similar Documents

Publication Publication Date Title
CN109040090B (zh) 一种数据加密方法及装置
CN113204787B (zh) 基于区块链的联邦学习隐私保护方法、系统、设备和介质
CN110750801B (zh) 数据处理方法、装置、计算机设备和存储介质
CN110519297B (zh) 一种基于区块链私钥的数据处理方法以及设备
CN113159327B (zh) 基于联邦学习系统的模型训练方法、装置、电子设备
CN109375932A (zh) 一种app热修复脚本构建的方法、装置、终端及存储介质
CN105516962B (zh) 基于eUICC的开户方法和系统
CN105593872B (zh) 数据认证的方法和设备
CN103885426B (zh) 设备的控制方法、客户端、服务器、中间设备和被控设备
CN104184740B (zh) 可信传输方法、可信第三方和可信传输系统
CN109150835A (zh) 云端数据存取的方法、装置、设备及计算机可读存储介质
CN105988896B (zh) 一种移动终端数据的备份方法及装置
CN106709280A (zh) 信息处理方法和用于信息处理的客户端、服务器端
CN108650275B (zh) 加密方法、装置、计算机设备和存储介质
CN112347500A (zh) 分布式系统的机器学习方法、装置、系统、设备及存储介质
CN105338035B (zh) 基于rs纠删码的安全存储方法和装置
CN113542228B (zh) 基于联邦学习的数据传输方法、装置以及可读存储介质
CN109587178A (zh) 一种基于mqtt的智能家电加密控制系统和方法
CN107995299A (zh) 一种云环境下抗访问模式泄露的盲存储方法
CN108737080A (zh) 密码的存储方法、装置、系统及设备
CN109922047A (zh) 一种图像传输系统及方法
CN110351276A (zh) 数据处理方法、设备及计算机可读存储介质
CN105025102A (zh) 一种3d打印模型文件的网络存储调用方法和存储系统
CN111416702B (zh) 数据传输方法及数据传输系统、计算机可读存储介质
CN104184773B (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