一种可执行文件生成的方法、装置以及计算机存储介质制造方法及图纸

技术编号:29309984 阅读:21 留言:0更新日期:2021-07-17 02:11
本公开提供了一种可执行文件生成的方法、装置以及计算机存储介质,其中,获取应用程序基础安装包的项目目录;在项目目录中,查找基础安装包对应的第一标识列表,以及待接入目标渠道对应的第二标识列表;基于第一标识列表和第二标识列表,生成应用程序在目标渠道下的合并后主可执行文件目录。本公开实施例,在将应用程序和目标渠道进行合并的过程(即渠道包的生成过程)中,将第一标识列表和第二标识列表下的文件合并到主可执行文件中;通过上述方法生成的渠道包可以保证在可执行文件安装之前运行的代码均位于主可执行文件中,从而保证渠道包能够在安装过程中正常运行。道包能够在安装过程中正常运行。道包能够在安装过程中正常运行。

The invention relates to a method, a device and a computer storage medium for generating an executable file

【技术实现步骤摘要】
一种可执行文件生成的方法、装置以及计算机存储介质


[0001]本公开涉及计算机
,具体而言,涉及一种可执行文件生成的方法、装置以及计算机存储介质。

技术介绍

[0002]随着计算机技术的快速发展,市场上出现越来越多的应用程序,应用程序开发商一般通过将应用程序上架到各种合作平台(即渠道)的方式,来提高应用程序的客户使用量。
[0003]在将应用程序上架到各种渠道之前,一般需要将渠道的软件工具开发包(Software Development Kit,SDK)与应用程序基础安装包进行合并,生成能够在渠道上发布的渠道包(即应用程序安装包),但是在将渠道的SDK与应用程序基础安装包合并过程中,可能会由于当前应用程序基础安装包的主可执行文件剩余容量不足,无法保证在可执行文件安装之前运行的代码位于主可执行文件中,这样,生成的渠道包会在运行时崩溃,导致无法正常安装渠道包。

技术实现思路

[0004]有鉴于此,本公开实施例至少提供一种可执行文件生成的方法、装置以及计算机存储介质。
[0005]第一方面,本公开实施例提供了一种可执行文件生成的方法,包括:
[0006]获取应用程序基础安装包的项目目录;
[0007]在所述项目目录中,查找所述基础安装包对应的第一标识列表,以及待接入目标渠道对应的第二标识列表;所述第一标识列表中包括所述基础安装包对应的至少一个第一主可执行文件标识;所述第二标识列表中包括所述待接入目标渠道对应的至少一个第二主可执行文件标识;
[0008]基于所述第一标识列表和所述第二标识列表,生成所述应用程序在所述目标渠道下的合并后主可执行文件目录。
[0009]在一种可选的实施方式中,获取应用程序基础安装包的项目目录之前,还包括:
[0010]调用目标编译插件,生成所述基础安装包对应的所述第一标识列表,以及生成待接入的至少一个渠道分别对应的所述第二标识列表;
[0011]将所述第一标识列表和所述第二标识列表保存到所述基础安装包的所述项目目录中。
[0012]在一种可选的实施方式中,调用目标编译插件,生成所述基础安装包对应的所述第一标识列表,以及生成待接入的至少一个渠道分别对应的所述第二标识列表,包括:
[0013]调用所述目标编译插件,针对所述应用程序,创建第一插件任务,以及针对每个待接入的渠道,创建对应的第二插件任务;
[0014]通过创建的所述第一插件任务和每个待接入的渠道对应的所述第二插件任务,生
成所述第一标识列表,以及至少一个渠道分别对应的所述第二标识列表。
[0015]在一种可选的实施方式中,获取应用程序基础安装包的项目目录,包括:
[0016]反编译所述应用程序基础安装包,并在得到的反编译基础安装包中,查找所述应用程序基础安装包的项目目录。
[0017]在一种可选的实施方式中,基于所述第一标识列表和所述第二标识列表,生成所述应用程序在所述目标渠道下的合并后主可执行文件目录,包括:
[0018]从所述基础安装包的主可执行文件目录中,移出对应的文件标识没有存在于所述第一标识列表中的文件;
[0019]将所述基础安装包中存在于所述第一标识列表的文件,和所述目标渠道的渠道软件包中存在于所述第二标识列表的文件,移入所述基础安装包的主可执行文件目录中,得到所述合并后主可执行文件目录。
[0020]在一种可选的实施方式中,所述方法还包括:
[0021]将所述基础安装包中位于所述第一标识列表外的文件,和所述目标渠道的渠道软件包中位于所述第二标识列表外的文件,分别移入所述基础安装包的至少一个辅可执行文件目录中;
[0022]将所述合并后主可执行文件目录,与所述至少一个辅可执行文件目录,作为所述应用程序的可执行文件目录。
[0023]在一种可选的实施方式中,确定所述应用程序的可执行文件目录后,所述方法还包括:
[0024]采用目标反编译工具,对所述可执行文件目录下的文件进行反编译,生成所述应用程序的可执行文件。
[0025]在一种可选的实施方式中,采用目标反编译工具,对所述可执行文件目录下的文件进行反编译,生成所述应用程序的可执行文件,包括:
[0026]采用所述目标反编译工具,对所述合并后主可执行文件目录下的文件进行反编译,生成至少一个主可执行文件;
[0027]采用所述目标反编译工具,对所述至少一个辅可执行文件目录下的文件进行反编译,生成至少一个辅可执行文件;
[0028]将所述至少一个主可执行文件和所述至少一个辅可执行文件,作为所述应用程序的可执行文件。
[0029]第二方面,本公开实施例提供了一种可执行文件生成的装置,包括:
[0030]获取模块,用于获取应用程序基础安装包的项目目录;
[0031]查找模块,用于在所述项目目录中,查找所述基础安装包对应的第一标识列表,以及待接入目标渠道对应的第二标识列表;所述第一标识列表中包括所述基础安装包对应的至少一个第一主可执行文件标识;所述第二标识列表中包括所述待接入目标渠道对应的至少一个第二主可执行文件标识;
[0032]生成模块,用于基于所述第一标识列表和所述第二标识列表,生成所述应用程序在所述目标渠道下的合并后主可执行文件目录。
[0033]在一种可选的实施方式中,所述装置还包括:
[0034]第一处理模块,用于调用目标编译插件,生成所述基础安装包对应的所述第一标
识列表,以及生成待接入的至少一个渠道分别对应的所述第二标识列表;将所述第一标识列表和所述第二标识列表保存到所述基础安装包的所述项目目录中。
[0035]在一种可选的实施方式中,所述第一处理模块,具体用于调用所述目标编译插件,针对所述应用程序,创建第一插件任务,以及针对每个待接入的渠道,创建对应的第二插件任务;通过创建的所述第一插件任务和每个待接入的渠道对应的所述第二插件任务,生成所述第一标识列表,以及至少一个渠道分别对应的所述第二标识列表。
[0036]在一种可选的实施方式中,所述获取模块,具体用于反编译所述应用程序基础安装包,并在得到的反编译基础安装包中,查找所述应用程序基础安装包的项目目录。
[0037]在一种可选的实施方式中,所述生成模块,具体用于从所述基础安装包的主可执行文件目录中,移出对应的文件标识没有存在于所述第一标识列表中的文件;将所述基础安装包中存在于所述第一标识列表的文件,和所述目标渠道的渠道软件包中存在于所述第二标识列表的文件,移入所述基础安装包的主可执行文件目录中,得到所述合并后主可执行文件目录。
[0038]在一种可选的实施方式中,所述装置还包括:
[0039]第二处理模块,用于将所述基础安装包中位于所述第一标识列表外的文件,和所述目标渠道的渠道软件包中位于所述第二标识列表外的文件,分别移入所述基础安装包的至少一个辅可执行文件目录中;将所述合并后主可执行文件目录,与所述至少一个辅可执行文件目录,作为所述本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种可执行文件生成的方法,其特征在于,包括:获取应用程序基础安装包的项目目录;在所述项目目录中,查找所述基础安装包对应的第一标识列表,以及待接入目标渠道对应的第二标识列表;所述第一标识列表中包括所述基础安装包对应的至少一个第一主可执行文件标识;所述第二标识列表中包括所述待接入目标渠道对应的至少一个第二主可执行文件标识;基于所述第一标识列表和所述第二标识列表,生成所述应用程序在所述目标渠道下的合并后主可执行文件目录。2.根据权利要求1所述的方法,其特征在于,获取应用程序基础安装包的项目目录之前,还包括:调用目标编译插件,生成所述基础安装包对应的所述第一标识列表,以及生成待接入的至少一个渠道分别对应的所述第二标识列表;将所述第一标识列表和所述第二标识列表保存到所述基础安装包的所述项目目录中。3.根据权利要求2所述的方法,其特征在于,调用目标编译插件,生成所述基础安装包对应的所述第一标识列表,以及生成待接入的至少一个渠道分别对应的所述第二标识列表,包括:调用所述目标编译插件,针对所述应用程序,创建第一插件任务,以及针对每个待接入的渠道,创建对应的第二插件任务;通过创建的所述第一插件任务和每个待接入的渠道对应的所述第二插件任务,生成所述第一标识列表,以及至少一个渠道分别对应的所述第二标识列表。4.根据权利要求1~3任一所述的方法,其特征在于,获取应用程序基础安装包的项目目录,包括:反编译所述应用程序基础安装包,并在得到的反编译基础安装包中,查找所述应用程序基础安装包的项目目录。5.根据权利要求1所述的方法,其特征在于,基于所述第一标识列表和所述第二标识列表,生成所述应用程序在所述目标渠道下的合并后主可执行文件目录,包括:从所述基础安装包的主可执行文件目录中,移出对应的文件标识没有存在于所述第一标识列表中的文件;将所述基础安装包中存在于所述第一标识列表的文件,和所述目标渠道的渠道软件包中存在于所述第二标识列表的文件,移入所述基础安装包的主可执行文件目录中,得到所述合并后主可执行文件目录。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:将所述基础安装包...

【专利技术属性】
技术研发人员:答奇薛章斌孙克静魏君成
申请(专利权)人:北京字节跳动网络技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1