CN117806696A - 安装包构建方法及装置 - Google Patents
安装包构建方法及装置 Download PDFInfo
- Publication number
- CN117806696A CN117806696A CN202311843151.9A CN202311843151A CN117806696A CN 117806696 A CN117806696 A CN 117806696A CN 202311843151 A CN202311843151 A CN 202311843151A CN 117806696 A CN117806696 A CN 117806696A
- Authority
- CN
- China
- Prior art keywords
- target application
- application program
- resources
- installation package
- package
- 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
Links
- 238000009434 installation Methods 0.000 title claims abstract description 136
- 238000010276 construction Methods 0.000 title claims abstract description 44
- 238000012360 testing method Methods 0.000 claims abstract description 64
- 238000000034 method Methods 0.000 claims abstract description 45
- 230000008569 process Effects 0.000 claims abstract description 37
- 238000013515 script Methods 0.000 claims description 30
- 238000004590 computer program Methods 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000007613 environmental effect Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本申请实施例提供一种安装包构建方法,所述方法包括:获取目标应用程序的完整安装包;对所述目标应用程序的完整安装包进行测试,并在测试过程中标识所述目标应用程序的必要资源,所述必要资源为所述目标应用程序前期需要使用到的资源;根据所述必要资源形成所述目标应用程序的安装微包。本申请实施例提供的安装包构建方法,可以使安装包较小的同时,减少用户因下载资源包造成的等待时间,提高用户体验,从而提高下载的转化率。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种安装包构建方法、装置、计算机设备及存储介质。
背景技术
不同于普通应用程序的APP,游戏的安装包通常较大,一般都有几GB或几十GB。为了减小游戏的安装包,提升用户的下载转化,当前游戏开发者最常用的方法是将资源单独剥离,根据剥离的资源形成独立的资源包。这样,用户初始下载的游戏安装包一般只有几百MB,游戏安装包的大小相比原来的安装包确实减小较多。
然而,用户在安装完游戏启动时,需要先下载一个较大(如几GB)的资源包,在下载完成后才能正式进入游戏,导致用户的等待时间较长,体验较差,下载转化率依然不高。
发明内容
本申请的目的在于提供一种安装包构建方法、装置、计算机设备及存储介质,用于解决以下技术问题:目前用户在安装完游戏启动时需要先下载较大的资源包,导致用户的等待时间较长,体验较差,下载的转化率不高。
本申请实施例的一个方面提供了一种安装包构建方法,包括:获取目标应用程序的完整安装包;对所述目标应用程序的完整安装包进行测试,并在测试过程中标识所述目标应用程序的必要资源,所述必要资源为所述目标应用程序前期需要使用到的资源;根据所述必要资源形成所述目标应用程序的安装微包。
可选地,在所述在测试过程中标识所述目标应用程序的必要资源之后,还包括:确定所述目标应用程序的剩余资源,所述剩余资源为所述目标应用程序中除所述必要资源之外的资源;根据所述剩余资源形成所述目标应用程序的资源包。
可选地,所述对所述目标应用程序的完整安装包进行测试,并在测试过程中标识所述目标应用程序的必要资源,包括:针对所述目标应用程序构建Frida环境;在所述Frida环境中运用自动化脚本对所述目标应用程序进行测试,所述自动化脚本用于对所述目标应用程序的前期部分内容进行自动化测试;采用Frida抓取在测试过程中使用到的第一资源,将所述第一资源作为所述目标应用程序的必要资源。
可选地,所述根据所述必要资源形成所述目标应用程序的安装微包,包括:遍历所述完整安装包中的资源,若当前资源不是所述必要资源,则将所述当前资源从所述完整安装包中移除;在遍历完成后,根据移除资源后的完整安装包形成所述目标应用程序的安装微包。
本申请实施例的一个方面又提供了一种安装包构建装置,包括:获取模块,用于获取目标应用程序的完整安装包;标识模块,用于对所述目标应用程序的完整安装包进行测试,并在测试过程中标识所述目标应用程序的必要资源,所述必要资源为所述目标应用程序前期需要使用到的资源;构建模块,用于根据所述必要资源形成所述目标应用程序的安装微包。
可选地,所述安装包构建装置还用于:确定所述目标应用程序的剩余资源,所述剩余资源为所述目标应用程序中除所述必要资源之外的资源;根据所述剩余资源形成所述目标应用程序的资源包。
可选地,所述标识模块还用于:在所述目标应用程序中构建Frida环境;在所述Frida环境运用自动化脚本对所述目标应用程序进行测试,所述自动化脚本用于对所述目标应用程序的前期部分内容进行自动化测试;采用Frida抓取在测试过程中使用到的第一资源,将所述第一资源作为所述目标应用程序的必要资源。
可选地,所述构建模块还用于:遍历所述完整安装包中的资源,若当前资源不是所述必要资源,则将所述当前资源从所述完整安装包中移除;在遍历完成后,根据移除资源后的完整安装包形成所述目标应用程序的安装微包。
本申请实施例的一个方面又提供了一种计算机设备,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时用于实现上述的安装包构建方法的步骤。
本申请实施例的一个方面又提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行上述的安装包构建方法的步骤。
本申请实施例提供的安装包构建方法、装置、计算机设备及存储介质,包括以下优点:
通过获取目标应用程序的完整安装包,对目标应用程序的完整安装包进行测试,并在测试过程中标识目标应用程序前期需要使用到的必要资源,根据目标应用程序的必要资源形成目标应用程序的安装微包,由于安装微包是根据游戏(目标应用程序)的前期资源形成的,因此可以使用户通过安装微包来实现游戏的安装试玩,并在试玩过程中下载游戏的其它资源,从而避免在安装后仍需等待较长时间来下载资源包才能游玩,在使安装包较小的同时,减少用户因下载资源包造成的等待时间,提高用户体验,从而提高下载的转化率。
附图说明
图1示意性示出了本申请实施例的环境架构图;
图2示意性示出了本申请实施例一的安装包构建方法的流程图;
图3为图2中步骤S420的子步骤的流程图;
图4为图2新增步骤的流程图;
图5为图2中步骤S430的子步骤的流程图;
图6为本申请实施例一的安装包构建方法的场景示例图;
图7示意性示出了本申请实施例二的安装包构建装置的框图;
图8示意性示出了本申请实施例三的计算机设备的硬件架构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在本申请实施例中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
在本申请的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本申请及区别每一步骤,因此不能理解为对本申请的限制。
下面为本申请涉及的术语解释:
hook(钩子):是Windows中提供的一种用以替换DOS下“中断”的系统机制,在对特定的系统事件进行hook后,一旦发生已hook事件,对该事件进行hook的程序就会收到系统的通知,这时程序就能在第一时间对该事件做出响应。
Frida:是个轻量级so级别的hook框架,使用Frida可以获取进程的信息(模块列表,线程列表,库导出函数),可以拦截指定函数和调用指定函数,可以允许用户将JavaScript代码片段注入Win、macOS、Android、iOS、Linux等不同系统的应用程序中,Frida的主要工作方式是将脚本注入到目标新的进程中,而且在执行过程中可以实时看到其中的变化。Frida具备多平台(如Android和iOS系统平台)支持的能力。同时,对Python脚本提供了相应的API,用户可以根据自己的需要,灵活编写Python脚本并交付Frida框架执行。
安装包(Install pack):即应用程序安装包,是可自行解压缩文件的集合,其中包括应用程序安装的所有文件,运行安装包,可以将应用程序的所有文件释放到硬盘上,完成修改注册表、修改系统设置、创建快捷方式等工作。
图1示意性示出了本申请实施例的环境架构图,如图所示:
终端310、终端320通过网络200与服务端100相连接。终端310可以通过与服务端100的通信,在服务端100构建应用程序的安装包;或者,可以在终端310中完成应用程序安装包的构建,再将构建好的安装包通过网络200上传至服务端100。终端320的用户需要下载应用程序时,通过网络200从服务端100下载应用程序进行安装。本申请实施例的安装包构建方法,终端310在构建安装包时,可以获取目标应用程序的完整安装包,对目标应用程序的完整安装包进行测试,并在测试过程中标识目标应用程序前期需要使用到的必要资源;根据必要资源形成目标应用程序的安装微包。这样,终端320的用户可以通过服务端100下载目标应用程序的安装微包,通过安装微包来实现目标应用程序的安装试用,并在试用过程中下载目标应用程序的其它资源,从而避免在安装后仍需等待较长时间来下载资源包才能使用目标应用程序,而是在试用过程中进行资源的下载,从而减少用户因下载资源包的等待时间,提高应用程序的下载转化率。其中,终端310在构建安装微包时,可以通过与其它终端(如移动终端)进行连接,在其它终端上对目标应用程序的完整安装包进行测试,并在测试过程中标识目标应用程序的必要资源。另外,可以根据目标应用程序除必要资源之外的其它资源形成资源包,供终端320在试用目标应用程序的过程中下载。
在示例性的实施例中,服务端100可以指数据中心,例如单个房屋,或者分布在不同的地理位置(例如,在几个房屋)。服务端100可以通过一个或多个网络200提供服务。
网络200包括各种网络设备,例如路由器、交换机、多路复用器、集线器、调制解调器、网桥、中继器、防火墙、代理设备和/或类似。网络200可以包括物理链路,例如同轴电缆链路、双绞线电缆链路、光纤链路、它们的组合和/或类似物。网络200可以包括无线链路,例如蜂窝链路、卫星链路、Wi-Fi链路和/或类似物。
终端310或终端320可以包括诸如移动设备、平板设备、膝上型计算机、智能设备(例如智能服装、智能手表、智能眼镜)、虚拟现实耳机、游戏设备、机顶盒、数字流设备、机器人、车载终端、智能电视、电视盒或电子书阅读器。
相关技术中,通过将资源单独剥离的方法,虽然可以使游戏的安装包较小,但用户启动游戏后需要先下载较大的资源包才能正式进入游戏,导致用户的等待时间较长,体验较差,下载的转化率不高。
本申请实施例提供的安装包构建方法,可以使游戏的安装包较小的同时,减少用户因下载资源包造成的等待时间,提高用户体验,从而提高下载的转化率。
以下将通过若干个实施例介绍安装包构建方案,为便于理解,下面将以终端为执行主体进行示例性描述。
实施例一
图2示意性示出了本申请实施例一的安装包构建方法的流程图,如图所示,可以包括步骤S410~步骤S430,具体说明如下:
步骤S410,获取目标应用程序的完整安装包。
其中,目标应用程序可以为游戏,也可以为其它应用程序。以下部分示例将直接以游戏为例进行说明。
目标应用程序的完整安装包中包括目标应用程序需要用到的所有资源。
步骤S420,对目标应用程序的完整安装包进行测试,并在测试过程中标识目标应用程序的必要资源,必要资源为目标应用程序前期需要使用到的资源。
可选地,在对目标应用程序的完整安装包进行测试时,可以采用手动的方式进行测试,对目标应用程序前期涉及到的每个场景进行测试;或者,可以预先针对目标应用程序的前期涉及到的每个场景编写自动化测试脚本,通过运行自动化脚本来进行自动化测试。
在示例性的实施例中,如图3所示,步骤S420可以包括步骤S421~步骤S423:
步骤S421,针对目标应用程序构建Frida环境。
例如,若需要在安卓系统的移动终端对目标应用程序中进行测试,则可以在安卓系统的移动终端安装Frida,并在Frida中配置目标应用程序的信息。
步骤S422,在Frida环境中运用自动化脚本对目标应用程序进行测试,自动化脚本用于对目标应用程序的前期部分内容进行自动化测试。
其中,自动化脚本可以实现点击、移动或跳转等操作,从而实现目标应用程序的自动化测试。在编写自动化脚本时,可以针对目标应用程序的前期部分进行编写,从而可以通过运行自动化脚本来实现对目标应用程序前期部分进行自动化测试。在编写自动化脚本时,由于不同设备厂商的终端的弹窗可能存在差异,例如主题为“是否允许”的弹窗,不同设备厂商的终端的弹窗可能是“允许”、“始终允许”或“总是允许”等,因此可以根据不同设备厂商进行兼容化处理,从而使自动化脚本兼容不同设备厂商的终端的弹窗。
前期部分可以是目标应用程序前期被使用到的部分,其根据目标应用程序不同而有所不同,可以根据不同的应用程序来确定具体的前期部分内容,例如将某个游戏的前三个关卡为游戏的前期部分。实际应用中,由于游戏的开发过程中通常会编写游戏的新手引导内容,而新手引导内容通常是针对游戏的前期部分,因此可以根据游戏的新手引导内容编写自动化脚本。当然,前期部分可以根据实际需要进行指定。例如,对于同一个游戏,既可以指定前三个关卡作为游戏的前期部分,也可以指定前两个、前四个、前五个等作为游戏的前期部分。
步骤S423,采用Frida抓取在测试过程中使用到的第一资源,将第一资源作为目标应用程序的必要资源。
由于自动化脚本是针对目标应用程序前期部分进行测试,因此采用Frida在测试过程中抓取到的第一资源即为前期部分需要使用到的资源,亦即目标应用程序的必要资源。
具体地,通过运行自动化脚本,可以针对目标应用程序前期部分的每个场景进行自动化测试,在测试过程中,若使用到相关的资源,则Frida通过hook来会抓取到相关的资源的路径,在自动化测试结束后,可以得到前期部分所有使用到的资源的清单,该资源的清单对应的资源即为第一资源,也即目标应用程序的必要资源。
步骤S421~步骤S423对应的实施例中,通过针对目标应用程序构建Frida环境,在Frida环境中运用自动化脚本对目标应用程序进行测试,其中自动化脚本用于对目标应用程序的前期部分内容进行自动化测试,采用Frida抓取在测试过程中使用到的第一资源作为目标应用程序的必要资源,可以在自动化测试目标应用程序的同时实现目标应用程序的必要资源的动态标识,提高获取目标应用程序的必要资源的效率。
步骤S430,根据必要资源形成目标应用程序的安装微包。
在示例性的实施例中,如图4所示,在步骤S420之后,本申请实施例的安装包构建方法可以包括步骤S510~步骤S520:
步骤S510,确定目标应用程序的剩余资源,剩余资源为目标应用程序中除必要资源之外的资源。
可选地,可以通过手动的方式测试除前期部分之外的剩余部分,并在测试过程中使用工具(如Frida)来自动标识剩余部分的资源,从而确定剩余资源;也可以编写另外的自动化脚本,通过另外的自动化脚本自动化测试剩余部分,并在测试过程中使用工具来自动标识剩余部分的资源,从而确定剩余资源。
步骤S520,根据剩余资源形成目标应用程序的资源包。
实际应用中,可以设定目标应用程序被安装启动后,自动在后台下载或根据输入指令下载根据剩余资源形成的资源包,从而在用户试用或试玩目标应用程序的过程中进行资源包的下载,方便用户在试用或试玩结束后,可以进行后续部分的使用或游玩,使用户等待资源包下载的时间减少,或者不用等待资源包下载(即资源包在试用或试玩过程中已下载完成)。
步骤S510~步骤S520对应的实施例中,通过确定目标应用程序除必要资源之外的剩余资源,根据剩余资源形成目标应用程序的资源包,可以形成与安装微包对应的资源包,从而可以在用户试用或试玩目标应用程序过程中进行资源包的下载,在使安装包较小的同时减少资源包下载的等待时间,提高用户体验和下载转化率。
在示例性的实施例中,如图5所示,步骤S430可以包括步骤S431~步骤S432:
步骤S431,遍历完整安装包中的资源,若当前资源不是必要资源,则将当前资源从完整安装包中移除。
可以理解的是,若当前资源不是必要资源,则当前资源为剩余资源,因此实际应用中可以根据移除的资源确定剩余资源,再根据剩余资源形成目标应用程序的资源包。
步骤S432,在遍历完成后,根据移除资源后的完整安装包形成目标应用程序的安装微包。
完整安装包在移除资源后,剩余的即为必要资源和其它必要文件,可以根据这些文件重新构建一个目标应用程序的安装包(即安装微包)。实际应用中,由于重新构建安装包会对完整安装包解压缩,而对完整安装包解压缩会破坏目标应用程序的原有签名,因此在形成安装微包之后,可以进行重新签名。
步骤S431~步骤S432对应的实施例中,通过遍历完整安装包中的资源,若当前资源不是必要资源,则将当前资源从完整安装包中移除,在遍历完成后,根据移除资源后的完整安装包形成目标应用程序的安装微包,可以快速构建目标应用程序新的安装包,同时也方便根据移除的资源形成与新的安装包对应的资源包。
请参考图6,其为本申请实施例的安装包构建方法的场景示例图,图中目标应用程序为游戏,如图所示,其大致流程如下:
1、开发人员进行游戏功能的开发;
2、开发人员针对前期部分的内容编写自动化脚本;
3、运行自动化脚本对游戏进行自动化测试;
4、利用预先配置的Frida动态标记游戏的必要资源;
5、根据标记的游戏的必要资源构建游戏的安装微包;
6、用户下载游戏;
7、用户安装游戏进行试玩;
8、在试玩过程中,用户无感知的情况下并行下载游戏的其它资源;
9、资源下载成功;
10、用户体验游戏的完整关卡。
本申请实施例提供的安装包构建方法,通过获取目标应用程序的完整安装包,对目标应用程序的完整安装包进行测试,并在测试过程中标识目标应用程序前期需要使用到的必要资源,根据目标应用程序的必要资源形成目标应用程序的安装微包,由于安装微包是根据游戏(目标应用程序)的前期资源形成的,因此可以使用户通过安装微包来实现游戏的安装试玩,并在试玩过程中下载游戏的其它资源,从而避免在安装后仍需等待较长时间来下载资源包才能游玩,在使安装包较小的同时,减少用户因下载资源包造成的等待时间,提高用户体验,从而提高下载的转化率。
实施例二
图7示意性示出了根据本申请实施例二的安装包构建装置600的框图,该安装包构建装置600可以被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本申请实施例。本申请实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,以下描述将具体介绍本实施例中各程序模块的功能。
如图7所示,该安装包构建装置600可以包括获取模块610、标识模块620和构建模块630。
获取模块610,用于获取目标应用程序的完整安装包;
标识模块620,用于对所述目标应用程序的完整安装包进行测试,并在测试过程中标识所述目标应用程序的必要资源,所述必要资源为所述目标应用程序前期需要使用到的资源;
构建模块630,用于根据所述必要资源形成所述目标应用程序的安装微包。
在示例性的实施例中,所述安装包构建装置600还用于:确定所述目标应用程序的剩余资源,所述剩余资源为所述目标应用程序中除所述必要资源之外的资源;根据所述剩余资源形成所述目标应用程序的资源包。
在示例性的实施例中,所述标识模块620还用于:在所述目标应用程序中构建Frida环境;在所述Frida环境运用自动化脚本对所述目标应用程序进行测试,所述自动化脚本用于对所述目标应用程序的前期部分内容进行自动化测试;采用Frida抓取在测试过程中使用到的第一资源,将所述第一资源作为所述目标应用程序的必要资源。
在示例性的实施例中,构建模块630还用于:遍历所述完整安装包中的资源,若当前资源不是所述必要资源,则将所述当前资源从所述完整安装包中移除;在遍历完成后,根据移除资源后的完整安装包形成所述目标应用程序的安装微包。
实施例三
图8示意性示出了根据本申请实施例三的适于安装包构建方法的计算机设备700的硬件架构图。计算机设备700可以是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或数据处理的设备。例如,可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)、网关等。如图8所示,计算机设备700至少包括但不限于:可通过系统总线相互通信链接存储器710、处理器720、网络接口730。其中:
存储器710至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器710可以是计算机设备700的内部存储模块,例如该计算机设备700的硬盘或内存。在另一些实施例中,存储器710也可以是计算机设备700的外部存储设备,例如该计算机设备700上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,存储器710还可以既包括计算机设备700的内部存储模块也包括其外部存储设备。本实施例中,存储器710通常用于存储安装于计算机设备700的操作系统和各类应用软件,例如安装包构建方法的程序代码等。此外,存储器710还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器720在一些实施例中可以是中央处理器(Central Processing Unit,简称为CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器720通常用于控制计算机设备700的总体操作,例如执行与计算机设备700进行数据交互或者通信相关的控制和处理等。本实施例中,处理器720用于运行存储器710中存储的程序代码或者处理数据。
网络接口730可包括无线网络接口或有线网络接口,该网络接口730通常用于在计算机设备700与其他计算机设备之间建立通信链接。例如,网络接口730用于通过网络将计算机设备700与外部终端相连,在计算机设备700与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通信系统(Global System of Mobile communication,简称为GSM)、宽带码分多址(Wideband CodeDivision Multiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图8仅示出了具有部件710-730的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器710中的安装包构建方法还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器720)所执行,以完成本申请实施例。
实施例四
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现实施例中的安装包构建方法的步骤。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中安装包构建方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结合。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种安装包构建方法,其特征在于,包括:
获取目标应用程序的完整安装包;
对所述目标应用程序的完整安装包进行测试,并在测试过程中标识所述目标应用程序的必要资源,所述必要资源为所述目标应用程序前期需要使用到的资源;
根据所述必要资源形成所述目标应用程序的安装微包。
2.根据权利要求1所述的安装包构建方法,其特征在于,在所述在测试过程中标识所述目标应用程序的必要资源之后,还包括:
确定所述目标应用程序的剩余资源,所述剩余资源为所述目标应用程序中除所述必要资源之外的资源;
根据所述剩余资源形成所述目标应用程序的资源包。
3.根据权利要求1所述的安装包构建方法,其特征在于,所述对所述目标应用程序的完整安装包进行测试,并在测试过程中标识所述目标应用程序的必要资源,包括:
针对所述目标应用程序构建Frida环境;
在所述Frida环境中运用自动化脚本对所述目标应用程序进行测试,所述自动化脚本用于对所述目标应用程序的前期部分内容进行自动化测试;
采用Frida抓取在测试过程中使用到的第一资源,将所述第一资源作为所述目标应用程序的必要资源。
4.根据权利要求3所述的安装包构建方法,其特征在于,所述根据所述必要资源形成所述目标应用程序的安装微包,包括:
遍历所述完整安装包中的资源,若当前资源不是所述必要资源,则将所述当前资源从所述完整安装包中移除;
在遍历完成后,根据移除资源后的完整安装包形成所述目标应用程序的安装微包。
5.一种安装包构建装置,其特征在于,包括:
获取模块,用于获取目标应用程序的完整安装包;
标识模块,用于对所述目标应用程序的完整安装包进行测试,并在测试过程中标识所述目标应用程序的必要资源,所述必要资源为所述目标应用程序前期需要使用到的资源;
构建模块,用于根据所述必要资源形成所述目标应用程序的安装微包。
6.根据权利要求5所述的安装包构建装置,其特征在于,所述安装包构建装置还用于:
确定所述目标应用程序的剩余资源,所述剩余资源为所述目标应用程序中除所述必要资源之外的资源;
根据所述剩余资源形成所述目标应用程序的资源包。
7.根据权利要求5所述的安装包构建装置,其特征在于,所述标识模块还用于:
在所述目标应用程序中构建Frida环境;
在所述Frida环境运用自动化脚本对所述目标应用程序进行测试,所述自动化脚本用于对所述目标应用程序的前期部分内容进行自动化测试;
采用Frida抓取在测试过程中使用到的第一资源,将所述第一资源作为所述目标应用程序的必要资源。
8.根据权利要求7所述的安装包构建装置,其特征于,所述构建模块还用于:
遍历所述完整安装包中的资源,若当前资源不是所述必要资源,则将所述当前资源从所述完整安装包中移除;
在遍历完成后,根据移除资源后的完整安装包形成所述目标应用程序的安装微包。
9.一种计算机设备,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时用于实现权利要求1至4中任一项所述的安装包构建方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行权利要求1至4中任一项所述的安装包构建方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311843151.9A CN117806696A (zh) | 2023-12-28 | 2023-12-28 | 安装包构建方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311843151.9A CN117806696A (zh) | 2023-12-28 | 2023-12-28 | 安装包构建方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117806696A true CN117806696A (zh) | 2024-04-02 |
Family
ID=90433541
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311843151.9A Pending CN117806696A (zh) | 2023-12-28 | 2023-12-28 | 安装包构建方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117806696A (zh) |
-
2023
- 2023-12-28 CN CN202311843151.9A patent/CN117806696A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110781085B (zh) | 一种游戏自动化测试方法、装置、终端和计算机存储介质 | |
CN108228444B (zh) | 一种测试方法和装置 | |
CN107302476B (zh) | 一种测试异步交互系统的自动化测试方法与系统 | |
CN111865708B (zh) | 物联网系统的性能测试方法、平台、设备及存储介质 | |
CN105868109B (zh) | 一种改进的移动端应用测试方法和系统 | |
CN111258913A (zh) | 算法自动测试方法、装置、计算机系统及可读存储介质 | |
CN105389263A (zh) | 应用软件权限监控方法、系统及设备 | |
CN110413328B (zh) | 一种网卡端口的pxe功能使能方法、装置及相关设备 | |
CN112214405A (zh) | 一种软件测试方法、装置、电子设备和可读存储介质 | |
CN106997313B (zh) | 一种应用程序的信号处理方法、系统及终端设备 | |
US20130282916A1 (en) | Automation framework to remotely control devices and process asynchronous events | |
CN113609027A (zh) | 一种arm云服务器的测试方法、装置、电子设备和存储介质 | |
CN117806696A (zh) | 安装包构建方法及装置 | |
CN116450165A (zh) | 一种快速搭建环境及部署程序的方法、系统、终端及存储介质 | |
CN113656322B (zh) | 数据处理方法、装置、电子设备及计算机存储介质 | |
CN115237441A (zh) | 一种基于云平台的升级测试方法、装置及介质 | |
EP3321808A1 (en) | Verification system and verification method | |
CN110716753B (zh) | 云主机的初始化方法、装置、存储介质及电子设备 | |
CN110798346B (zh) | Linux虚拟机新增网卡的配置方法及相关组件 | |
CN113986263A (zh) | 代码自动化测试方法、装置、电子设备、存储介质 | |
CN114416596A (zh) | 一种测试应用的方法、装置、计算机设备及存储介质 | |
CN111355629B (zh) | 一种客户端的测试方法、装置、计算机设备及存储介质 | |
CN114579457A (zh) | 新型电力系统固件运行仿真平台及仿真方法 | |
CN114385493A (zh) | 一种性能测试方法、装置、电子设备及存储介质 | |
CN108717363B (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 |