CN112905194A - 一种安装包生成方法及装置 - Google Patents

一种安装包生成方法及装置 Download PDF

Info

Publication number
CN112905194A
CN112905194A CN202110289313.3A CN202110289313A CN112905194A CN 112905194 A CN112905194 A CN 112905194A CN 202110289313 A CN202110289313 A CN 202110289313A CN 112905194 A CN112905194 A CN 112905194A
Authority
CN
China
Prior art keywords
installation package
channel
published
supplementary
application program
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
CN202110289313.3A
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.)
Beijing ByteDance Network Technology Co Ltd
Original Assignee
Beijing ByteDance Network 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 Beijing ByteDance Network Technology Co Ltd filed Critical Beijing ByteDance Network Technology Co Ltd
Priority to CN202110289313.3A priority Critical patent/CN112905194A/zh
Publication of CN112905194A publication Critical patent/CN112905194A/zh
Pending legal-status Critical Current

Links

Images

Classifications

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本公开提供了一种安装包生成方法及装置,首先获取目标应用程序的基础安装包,以及多个待发布渠道对应的补充安装包;然后,对所述基础安装包中的渠道接入接口中的调用参数进行配置,生成与每个待发布渠道分别对应的中间安装包;最后,针对每个所述待发布渠道,将与所述待发布渠道对应的中间安装包和所述补充安装包合并,生成所述目标应用程序在该待发布渠道对应的目标安装包。本公开实施例通过在目标应用程序的原始安装包中先集成渠道接入接口,再自动生成各个渠道的安装包,不需要开发人员根据各个渠道的差异逐个进行不同渠道的安装包的配置,效率较高。

Description

一种安装包生成方法及装置
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种安装包生成方法及装置。
背景技术
目前,在安卓系统下运行的游戏等应用程序,需要在多种不同的渠道上发布,并通过渠道来实现登录、支付等功能。为了在渠道上发布,需要接入渠道对应的软件开发工具包(Software Development Kit,SDK),通过渠道对应SDK能够调用渠道对应的应用编程接口(Application Programming Interface,API)来实现登录、支付等功能。
由于市面上的渠道数量极多,在开发人员开发一项新的应用程序后,需要为每个待发布渠道进行适配,分别将每个渠道的SKD集成到应用程序的安装包中,效率较低。
发明内容
本公开实施例至少提供一种安装包生成方法及装置。
第一方面,本公开实施例提供了一种安装包生成方法,包括:
获取目标应用程序的基础安装包,以及多个待发布渠道对应的补充安装包;其中,所述补充安装包中包括用于将所述目标应用程序接入所述待发布渠道对应的应用程序接口的软件开发工具包;所述基础安装包中具有预先配置好的渠道接入接口;
对所述基础安装包中的渠道接入接口中的调用参数进行配置,生成与每个渠道分别对应的中间安装包;
针对每个所述待发布渠道,将与渠道对应的中间安装包和所述补充安装包合并,生成所述目标应用程序在该渠道对应的目标安装包。
一种可选的实施方式中,通过以下步骤生成所述基础安装包:
获取所述目标应用程序的安装数据;
将所述渠道接入接口集成到所述目标应用程序的安装数据中,并对集成了所述渠道接入接口的所述安装数据进行编译,生成所述基础安装包。
一种可选的实施方式中,所述对所述基础安装包中的渠道接入接口中的调用参数进行配置,生成与每个渠道分别对应的中间安装包,包括:
针对每个所述待发布渠道,基于所述待发布渠道的类型对应的预设调用参数,对所述基础安装包中的渠道接入接口中的调用参数进行配置,分别得到与每个所述待发布渠道对应的中间安装包。
一种可选的实施方式中,所述针对每个所述待发布渠道,将与渠道对应的中间安装包和所述补充安装包合并,生成所述目标应用程序在该渠道对应的目标安装包,包括:
针对每个所述待发布渠道,分别对所述中间安装包及所述补充安装包进行反编译处理,获取所述中间安装包及所述补充安装包的代码数据与资源数据;
将获取的所述补充安装包与所述中间安装包的资源数据合并,以及将获取的所述补充安装包与所述中间安装包的代码数据合并;
基于合并后的所述资源数据以及合并后的所述代码数据,生成与所述待发布渠道对应的目标安装包。
一种可选的实施方式中,所述将与所述待发布渠道对应的所述补充安装包与所述中间安装包的资源数据合并,包括:
获取所述中间安装包的资源数据中,每个资源文件的文件标识;
基于所述中间安装包的资源数据中,每个资源文件的文件标识,更新对应的所述补充安装包的资源数据中每个资源文件的文件标识;
将更新后的所述补充安装包的资源数据合并入对应的所述中间安装包的资源数据中。
一种可选的实施方式中,在更新与所述待发布渠道对应的所述补充安装包的资源数据中每个资源文件的文件标识之后,将与所述待发布渠道对应的所述补充安装包与所述中间安装包的代码数据合并之前,所述方法还包括:
基于所述补充安装包的资源数据中每个资源文件在更新前的文件标识、以及更新后的文件标识,对所述补充安装包的代码数据中的调用文件标识进行更新。
一种可选的实施方式中,所述基于合并后的所述资源数据以及合并后的所述代码数据,生成与所述待发布渠道对应的目标安装包,包括:
对合并后的所述资源数据以及合并后的所述代码数据进行编译,得到所述待发布渠道对应的目标安装包。
第二方面,本公开实施例还提供一种安装包生成装置,包括:
获取模块,用于获取目标应用程序的基础安装包,以及多个待发布渠道对应的补充安装包;其中,所述补充安装包中包括用于将所述目标应用程序接入所述待发布渠道对应的应用程序接口的软件开发工具包;所述基础安装包中具有预先配置好的渠道接入接口;
第一生成模块,用于对所述基础安装包中的渠道接入接口中的调用参数进行配置,生成与每个渠道分别对应的中间安装包;
第二生成模块,用于针对每个所述待发布渠道,将与渠道对应的中间安装包和所述补充安装包合并,生成所述目标应用程序在该渠道对应的目标安装包。
一种可选的实施方式中,所述装置还包括第三生成模块,用于:
获取所述目标应用程序的安装数据;
将所述渠道接入接口集成到所述目标应用程序的安装数据中,并对集成了所述渠道接入接口的所述安装数据进行编译,生成所述基础安装包。
一种可选的实施方式中,所述第一生成模块具体用于:
针对每个所述待发布渠道,基于所述待发布渠道的类型对应的预设调用参数,对所述基础安装包中的渠道接入接口中的调用参数进行配置,分别得到与每个所述待发布渠道对应的中间安装包。
一种可选的实施方式中,所述第二生成模块具体用于:
针对每个所述待发布渠道,分别对所述中间安装包及所述补充安装包进行反编译处理,获取所述中间安装包及所述补充安装包的代码数据与资源数据;
将获取的所述补充安装包与所述中间安装包的资源数据合并,以及将获取的所述补充安装包与所述中间安装包的代码数据合并;
基于合并后的所述资源数据以及合并后的所述代码数据,生成与所述待发布渠道对应的目标安装包。
一种可选的实施方式中,所述第二生成模块在将与所述待发布渠道对应的所述补充安装包与所述中间安装包的资源数据合并时,具体用于:
获取所述中间安装包的资源数据中,每个资源文件的文件标识;
基于所述中间安装包的资源数据中,每个资源文件的文件标识,更新对应的所述补充安装包的资源数据中每个资源文件的文件标识;
将更新后的所述补充安装包的资源数据合并入对应的所述中间安装包的资源数据中。
一种可选的实施方式中,所述第二生成模块在更新与所述待发布渠道对应的所述补充安装包的资源数据中每个资源文件的文件标识之后,将与所述待发布渠道对应的所述补充安装包与所述中间安装包的代码数据合并之前,还用于:
基于所述补充安装包的资源数据中每个资源文件在更新前的文件标识、以及更新后的文件标识,对所述补充安装包的代码数据中的调用文件标识进行更新。
一种可选的实施方式中,所述第二生成模块在基于合并后的所述资源数据以及合并后的所述代码数据,生成与所述待发布渠道对应的目标安装包时,具体用于:
对合并后的所述资源数据以及合并后的所述代码数据进行编译,得到所述待发布渠道对应的目标安装包。
第三方面,本公开实施例还提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
第四方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
本公开实施例提供的安装包生成方法及装置,能够获取具有预先配置好的渠道接入接口的目标应用程序的基础安装包,以及基于渠道的开发工具包构建得到的补充安装包,再对基础安装包中渠道接入接口中的调用参数进行配置,生成每个渠道分别对应的中间安装包,最后分别将每个渠道对应的补充安装包和中间安装包合并,生成目标应用程序在每个渠道对应的目标安装包。本公开实施例通过在目标应用程序的原始安装包中先集成渠道接入接口,再自动生成各个渠道的安装包,不需要开发人员根据各个渠道的差异逐个进行不同渠道的安装包的配置,效率较高。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种安装包生成方法的流程图;
图2示出了本公开实施例所提供的方法中,利用渠道接入接口调用渠道应用编程接口的具体方法的流程图;
图3示出了本公开实施例所提供的另一种安装包生成方法的流程图;
图4示出了本公开实施例所提供的一种安装包生成装置的示意图;
图5示出了本公开实施例所提供的一种计算机设备的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
在安卓系统下运行的游戏等应用,需要在多种不同的渠道上发布,并通过渠道来实现登录、支付等功能。由于市面上的渠道数量极多,在开发人员开发一项新的应用程序后,需要为每个渠道进行适配,分别将每个渠道的SKD集成到应用程序的安装包中,才能调用渠道对应的登录及支付的API,这个过程通常由开发人员针对每个渠道逐一进行设置,人工成本较高,效率较低。
基于上述研究,本公开提供了一种安装包生成方法,能够通过在目标应用程序的原始安装包中先集成渠道接入接口,再自动生成各个渠道的安装包,不需要开发人员根据各个渠道的差异逐个进行不同渠道的安装包的配置,效率较高。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种安装包生成方法进行详细介绍,本公开实施例所提供的安装包生成方法的执行主体一般为具有一定计算能力的计算机设备。
下面以执行主体为终端设备为例对本公开实施例提供的安装包生成方法加以说明。
参见图1所示,为本公开实施例提供的安装包生成方法的流程图,所述方法包括步骤S101~S103,其中:
S101:获取目标应用程序的基础安装包,以及多个待发布渠道对应的补充安装包;其中,所述补充安装包中包括用于将所述目标应用程序接入所述待发布渠道对应的应用程序接口的软件开发工具包;所述基础安装包中具有预先配置好的渠道接入接口。
该步骤中,终端设备可以获取到用户传输的目标程序的基础安装包,在基础安装包中,可以存储有目标应用程序的安装数据和预先配置好的渠道接入接口,其中,安装数据可以是将目标程序安装到计算机设备上所需的文件,目标应用程序可以是运行于安卓系统下的游戏等应用程序,渠道可以是目标应用程序的分发渠道,渠道可以提供目标应用程序的下载、更新、支付、登录等服务,渠道的种类较多,通常应用程序需要接入渠道对应的SDK才能够使用渠道提供的服务。
在一种可能的实施方式中,可以通过以下步骤生成所述基础安装包:
获取所述目标应用程序的安装数据;
将所述渠道接入接口集成到所述目标应用程序的安装数据中,并对集成了所述渠道接入接口的所述安装数据进行编译,生成所述基础安装包。
其中,渠道接入接口可以是预先配置好的,目标应用程序能够通过渠道接入接口,通过预设的渠道的SDK调用对应的API。
这里,渠道接入接口能够根据需求进行设置,可以包含多个待发布渠道的SDK所要求的全部API,渠道接入接口在被运行时能够识别预设的渠道标识,并调用与渠道标识对应的渠道的API。
进一步的,终端设备还可以获取多个渠道对应的补充安装包,补充安装包可以含有用于将所述目标应用程序接入所述待发布渠道对应的应用程序接口的软件开发工具包,是基于该渠道的开发工具包SDK构建得到的。
这里,安装包可以为apk格式。
S102:对所述基础安装包中的渠道接入接口中的调用参数进行配置,生成与每个渠道分别对应的中间安装包。
一种可能的实施方式中,可以针对每个所述待发布渠道,基于所述待发布渠道的类型对应的预设调用参数,对所述基础安装包中的渠道接入接口中的调用参数进行配置,分别得到与每个所述待发布渠道对应的中间安装包。
该步骤中,终端设备可以对基础安装包中的渠道接入接口中的调用参数进行配置,为基础安装包配置不同类型的渠道,并将调用参数调整为该类型的渠道对应的参数,生成每个渠道分别对应的中间安装包。
这里,渠道的类型可以如华为、腾讯等。生成的中间安装包数量可以与渠道类型的数量相同。
对中间安装包进行配置后,渠道接入接口即被设置为可利用与调用参数对应的渠道的SDK,调用与调用参数对应的渠道的API的状态。
S103:针对每个所述待发布渠道,将与渠道对应的中间安装包和所述补充安装包合并,生成所述目标应用程序在该渠道对应的目标安装包。
该步骤中,终端设备可以将与渠道对应的中间安装包与补充安装包合并,得到目标安装包,这样,在将目标安装包安装在计算机设备上时,目标应用程序即可通过渠道接入接口,使用对应的渠道的SDK进行API调用。
在一些可能的实施方式中,S103可以包括以下步骤:
1)针对每个所述待发布渠道,分别对所述中间安装包及所述补充安装包进行反编译处理,获取所述中间安装包及所述补充安装包的代码数据与资源数据。
该步骤中,可以利用预设的编译工具,如apktool对每个中间安装包进行反编译,得到每个中间安装包的代码数据和资源数据,其中,代码数据可以是目标应用程序的运行逻辑代码、库文件等,资源数据可以包括目标应用程序的贴图资源、声音资源等。
进一步的,还可以利用预设的编译工具对补充安装包进行反编译处理,得到每个补充安装包的代码数据和资源数据。
2)将获取的所述补充安装包与所述中间安装包的资源数据合并,以及将获取的所述补充安装包与所述中间安装包的代码数据合并。
该步骤中,可以分别将渠道对应的补充安装包和中间安装包的资源数据合并,再分别将渠道对应的补充安装包和中间安装包的代码数据合并。
其中,步骤2)可以包括:
获取所述中间安装包的资源数据中,每个资源文件的文件标识;
基于所述中间安装包的资源数据中,每个资源文件的文件标识,更新对应的所述补充安装包的资源数据中每个资源文件的文件标识;
将更新后的所述补充安装包的资源数据合并入对应的所述中间安装包的资源数据中。
该步骤中,由于中间安装包与补充安装包是两个相互独立的安装包,两者之间可能存在文件标识相同的资源文件,需要进行适应的调整,可以在获取到中间安装包以及补充安装包的资源数据后,可以获取中间安装包中每个资源文件的文件标识,具体的,可以解析在反编译过程中生成的public.xml文件,得到每个资源文件的ID;之后,可以基于中间安装包中资源数据的资源文件的文件标识,更新补充安装包的资源数据中的资源文件的文件标识,具体的,可以修改补充安装包中的public.xml文件,可以按照中间安装包中的最大ID上进行递增的规则,修改补充安装包中资源文件的文件标识;然后,将中间安装包与补充安装包对应的public.xml进行合并,并将补充安装包的资源文件存放到中间安装包的资源文件对应的目录下。
这里,在更新与所述待发布渠道对应的所述补充安装包的资源数据中每个资源文件的文件标识之后,将与所述待发布渠道对应的所述补充安装包与所述中间安装包的代码数据合并之前,所述方法还可以包括:
基于所述补充安装包的资源数据中每个资源文件在更新前的文件标识、以及更新后的文件标识,对所述补充安装包的代码数据中的调用文件标识进行更新。
该步骤中,由于对补充安装包中资源文件的文件标识进行了更新,需要对补充安装包的代码数据中的调用文件标识进行更新,使目标应用程序在利用渠道对应的SDK进行调用时能够正确调用资源文件。具体的,可以扫描补充安装包对应的反编译目录下的smali文件,检测到R.java的调用后,进行对应的替换。
3)基于合并后的所述资源数据以及合并后的所述代码数据,生成与所述待发布渠道对应的目标安装包。
示例性的,可以对合并后的所述资源数据以及合并后的所述代码数据进行编译,得到所述待发布渠道对应的目标安装包。
该步骤中,可以利用编译工具对合并后的资源数据以及合并后的代码数据进行编译,生成各个待发布渠道对应的目标安装包。
在生成目标安装包之前,还可以根据各个待发布渠道渠道的要求,将渠道要求的特定资源进行替换,如图标资源、闪屏图片资源等。
本公开实施例提供的安装包生成方法,能够获取具有预先配置好的渠道接入接口的目标应用程序的基础安装包,以及基于渠道的开发工具包构建得到的补充安装包,再对基础安装包中渠道接入接口中的调用参数进行配置,生成每个渠道分别对应的中间安装包,最后分别将每个渠道对应的补充安装包和中间安装包合并,生成目标应用程序在每个渠道对应的目标安装包。本公开实施例通过在目标应用程序的原始安装包中先集成渠道接入接口,再自动生成各个待发布渠道的安装包,不需要开发人员根据各个渠道的差异逐个进行不同渠道的安装包的配置,效率较高。
参见图2所示,为本公开实施例所提供的方法中,利用渠道接入接口调用渠道应用编程接口的具体方法的流程图,该方法包括:在应用程序需要调用渠道接口是,应用程序通过接入到IChannelApi(渠道接入接口),基于IChannelApi的设置的调用参数,确定RealChannel(真实接入的渠道),并利用RealChannel的SDK进行渠道接口的调用。这样,应用程序的开发方开发接入渠道的安装包时,只需将应用程序接入到渠道调用接口,不需针对每个渠道都进行开发,效率较高。
参见图3所示,为本公开实施例所提供的另一种安装包生成方法的流程图,该方法包括:输入包含有渠道接入接口的母包(中间安装包),基于渠道SDK构建渠道包体(补充安装包),并对目标以及补充安装包进行反编译,得到补充安装包以及中间安装包的资源以及代码,再将补充安装包、中间安装包的资源合并,最后对合并的资源及代码进行编译,得到包含渠道SDK的目标安装包。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与安装包生成方法对应的安装包生成装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述安装包生成方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图4所示,为本公开实施例提供的一种安装包生成装置的架构示意图,所述安装包生成装置400包括:获取模块410、第一生成模块420、第二生成模块430;其中,
获取模块410,用于获取目标应用程序的基础安装包,以及多个待发布渠道对应的补充安装包;其中,所述补充安装包中包括用于将所述目标应用程序接入所述待发布渠道对应的应用程序接口的软件开发工具包;所述基础安装包中具有预先配置好的渠道接入接口;
第一生成模块420,用于对所述基础安装包中的渠道接入接口中的调用参数进行配置,生成与每个渠道分别对应的中间安装包;
第二生成模块430,用于针对每个所述待发布渠道,将与渠道对应的中间安装包和所述补充安装包合并,生成所述目标应用程序在该渠道对应的目标安装包。
本公开实施例能够通过在目标应用程序的原始安装包中先集成渠道接入接口,再自动生成各个渠道的安装包,不需要开发人员根据各个渠道的差异逐个进行不同渠道的安装包的配置,效率较高。
一种可选的实施方式中,所述安装包生成装置400还包括第三生成模块440,用于:
获取所述目标应用程序的安装数据;
将所述渠道接入接口集成到所述目标应用程序的安装数据中,并对集成了所述渠道接入接口的所述安装数据进行编译,生成所述基础安装包。
一种可选的实施方式中,所述第一生成模块420具体用于:
针对每个所述待发布渠道,基于所述待发布渠道的类型对应的预设调用参数,对所述基础安装包中的渠道接入接口中的调用参数进行配置,分别得到与每个所述待发布渠道对应的中间安装包。
一种可选的实施方式中,所述第二生成模块430具体用于:
针对每个所述待发布渠道,分别对所述中间安装包及所述补充安装包进行反编译处理,获取所述中间安装包及所述补充安装包的代码数据与资源数据;
将获取的所述补充安装包与所述中间安装包的资源数据合并,以及将获取的所述补充安装包与所述中间安装包的代码数据合并;
基于合并后的所述资源数据以及合并后的所述代码数据,生成与所述待发布渠道对应的目标安装包。
一种可选的实施方式中,所述第二生成模块430在将与所述待发布渠道对应的所述补充安装包与所述中间安装包的资源数据合并时,具体用于:
获取所述中间安装包的资源数据中,每个资源文件的文件标识;
基于所述中间安装包的资源数据中,每个资源文件的文件标识,更新对应的所述补充安装包的资源数据中每个资源文件的文件标识;
将更新后的所述补充安装包的资源数据合并入对应的所述中间安装包的资源数据中。
一种可选的实施方式中,所述第二生成模块430在更新与所述待发布渠道对应的所述补充安装包的资源数据中每个资源文件的文件标识之后,将与所述待发布渠道对应的所述补充安装包与所述中间安装包的代码数据合并之前,还用于:
基于所述补充安装包的资源数据中每个资源文件在更新前的文件标识、以及更新后的文件标识,对所述补充安装包的代码数据中的调用文件标识进行更新。
一种可选的实施方式中,所述第二生成模块430在基于合并后的所述资源数据以及合并后的所述代码数据,生成与所述待发布渠道对应的目标安装包时,具体用于:
对合并后的所述资源数据以及合并后的所述代码数据进行编译,得到所述待发布渠道对应的目标安装包。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
基于同一技术构思,本公开实施例还提供了一种计算机设备。参照图5所示,为本公开实施例提供的计算机设备500的结构示意图,包括处理器501、存储器502、和总线503。其中,存储器502用于存储执行指令,包括内存5021和外部存储器5022;这里的内存5021也称内存储器,用于暂时存放处理器501中的运算数据,以及与硬盘等外部存储器5022交换的数据,处理器501通过内存5021与外部存储器5022进行数据交换,当计算机设备500运行时,处理器501与存储器502之间通过总线503通信,使得处理器501在执行以下指令:
获取目标应用程序的基础安装包,以及多个待发布渠道对应的补充安装包;其中,所述补充安装包中包括用于将所述目标应用程序接入所述待发布渠道对应的应用程序接口的软件开发工具包;所述基础安装包中具有预先配置好的渠道接入接口;
对所述基础安装包中的渠道接入接口中的调用参数进行配置,生成与每个渠道分别对应的中间安装包;
针对每个所述待发布渠道,将与渠道对应的中间安装包和所述补充安装包合并,生成所述目标应用程序在该渠道对应的目标安装包。
一种可能的实施方式中,处理器501还用于执行:
获取所述目标应用程序的安装数据;
将所述渠道接入接口集成到所述目标应用程序的安装数据中,并对集成了所述渠道接入接口的所述安装数据进行编译,生成所述基础安装包。
一种可能的实施方式中,处理器501执行的指令中,所述对所述基础安装包中的渠道接入接口中的调用参数进行配置,生成与每个渠道分别对应的中间安装包,包括:
针对每个所述待发布渠道,基于所述待发布渠道的类型对应的预设调用参数,对所述基础安装包中的渠道接入接口中的调用参数进行配置,分别得到与每个所述待发布渠道对应的中间安装包。
一种可能的实施方式中,处理器501执行的指令中,所述针对每个所述待发布渠道,将与渠道对应的中间安装包和所述补充安装包合并,生成所述目标应用程序在该渠道对应的目标安装包,包括:
针对每个所述待发布渠道,分别对所述中间安装包及所述补充安装包进行反编译处理,获取所述中间安装包及所述补充安装包的代码数据与资源数据;
将获取的所述补充安装包与所述中间安装包的资源数据合并,以及将获取的所述补充安装包与所述中间安装包的代码数据合并;
基于合并后的所述资源数据以及合并后的所述代码数据,生成与所述待发布渠道对应的目标安装包。
一种可能的实施方式中,处理器501执行的指令中,所述将与所述待发布渠道对应的所述补充安装包与所述中间安装包的资源数据合并,包括:
获取所述中间安装包的资源数据中,每个资源文件的文件标识;
基于所述中间安装包的资源数据中,每个资源文件的文件标识,更新对应的所述补充安装包的资源数据中每个资源文件的文件标识;
将更新后的所述补充安装包的资源数据合并入对应的所述中间安装包的资源数据中。
一种可能的实施方式中,处理器501在执行更新与所述待发布渠道对应的所述补充安装包的资源数据中每个资源文件的文件标识之后,将与所述待发布渠道对应的所述补充安装包与所述中间安装包的代码数据合并之前,还用于执行:
基于所述补充安装包的资源数据中每个资源文件在更新前的文件标识、以及更新后的文件标识,对所述补充安装包的代码数据中的调用文件标识进行更新。
一种可能的实施方式中,处理器501执行的指令中,所述基于合并后的所述资源数据以及合并后的所述代码数据,生成与所述待发布渠道对应的目标安装包,包括:
对合并后的所述资源数据以及合并后的所述代码数据进行编译,得到所述待发布渠道对应的目标安装包。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的安装包生成方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例所提供的安装包生成方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的安装包生成方法的步骤,具体可参见上述方法实施例,在此不再赘述。
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种安装包生成方法,其特征在于,包括:
获取目标应用程序的基础安装包,以及多个待发布渠道对应的补充安装包;其中,所述补充安装包中包括用于将所述目标应用程序接入所述待发布渠道对应的应用程序接口的软件开发工具包;所述基础安装包中具有预先配置好的渠道接入接口;
对所述基础安装包中的渠道接入接口中的调用参数进行配置,生成与每个待发布渠道分别对应的中间安装包;
针对每个所述待发布渠道,将与所述待发布渠道对应的中间安装包和所述补充安装包合并,生成所述目标应用程序在该待发布渠道对应的目标安装包。
2.根据权利要求1所述的方法,其特征在于,通过以下步骤生成所述基础安装包:
获取所述目标应用程序的安装数据;
将所述渠道接入接口集成到所述目标应用程序的安装数据中,并对集成了所述渠道接入接口的所述安装数据进行编译,生成所述基础安装包。
3.根据权利要求1所述的方法,其特征在于,所述对所述基础安装包中的渠道接入接口中的调用参数进行配置,生成与每个待发布渠道分别对应的中间安装包,包括:
针对每个所述待发布渠道,基于所述待发布渠道的类型对应的预设调用参数,对所述基础安装包中的渠道接入接口中的调用参数进行配置,分别得到与每个所述待发布渠道对应的中间安装包。
4.根据权利要求1所述的方法,其特征在于,所述针对每个所述待发布渠道,将与所述待发布渠道对应的中间安装包和所述补充安装包合并,生成所述目标应用程序在该待发布渠道对应的目标安装包,包括:
针对每个所述待发布渠道,分别对所述中间安装包及所述补充安装包进行反编译处理,获取所述中间安装包及所述补充安装包的代码数据与资源数据;
将获取的所述补充安装包与所述中间安装包的资源数据合并,以及将获取的所述补充安装包与所述中间安装包的代码数据合并;
基于合并后的所述资源数据以及合并后的所述代码数据,生成与所述待发布渠道对应的目标安装包。
5.根据权利要求4所述的方法,其特征在于,所述将与所述待发布渠道对应的所述补充安装包与所述中间安装包的资源数据合并,包括:
获取所述中间安装包的资源数据中,每个资源文件的文件标识;
基于所述中间安装包的资源数据中,每个资源文件的文件标识,更新对应的所述补充安装包的资源数据中每个资源文件的文件标识;
将更新后的所述补充安装包的资源数据合并入对应的所述中间安装包的资源数据中。
6.根据权利要求5所述的方法,其特征在于,在更新与所述待发布渠道对应的所述补充安装包的资源数据中每个资源文件的文件标识之后,将与所述待发布渠道对应的所述补充安装包与所述中间安装包的代码数据合并之前,所述方法还包括:
基于所述补充安装包的资源数据中每个资源文件在更新前的文件标识、以及更新后的文件标识,对所述补充安装包的代码数据中的调用文件标识进行更新。
7.根据权利要求4所述的方法,其特征在于,所述基于合并后的所述资源数据以及合并后的所述代码数据,生成与所述待发布渠道对应的目标安装包,包括:
对合并后的所述资源数据以及合并后的所述代码数据进行编译,得到所述待发布渠道对应的目标安装包。
8.一种安装包生成装置,其特征在于,包括:
获取模块,用于获取目标应用程序的基础安装包,以及多个待发布渠道对应的补充安装包;其中,所述补充安装包中包括用于将所述目标应用程序接入所述待发布渠道对应的应用程序接口的软件开发工具包;所述基础安装包中具有预先配置好的渠道接入接口;
第一生成模块,用于对所述基础安装包中的渠道接入接口中的调用参数进行配置,生成与每个渠道分别对应的中间安装包;
第二生成模块,用于针对每个所述待发布渠道,将与渠道对应的中间安装包和所述补充安装包合并,生成所述目标应用程序在该渠道对应的目标安装包。
9.一种计算机设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至7任一项所述的安装包生成方法的步骤。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至7任一项所述的安装包生成方法的步骤。
CN202110289313.3A 2021-03-18 2021-03-18 一种安装包生成方法及装置 Pending CN112905194A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110289313.3A CN112905194A (zh) 2021-03-18 2021-03-18 一种安装包生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110289313.3A CN112905194A (zh) 2021-03-18 2021-03-18 一种安装包生成方法及装置

Publications (1)

Publication Number Publication Date
CN112905194A true CN112905194A (zh) 2021-06-04

Family

ID=76105715

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110289313.3A Pending CN112905194A (zh) 2021-03-18 2021-03-18 一种安装包生成方法及装置

Country Status (1)

Country Link
CN (1) CN112905194A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104363264A (zh) * 2014-10-22 2015-02-18 北京棱镜云桥科技有限公司 移动终端软件的多渠道sdk接入系统及方法
CN107145373A (zh) * 2017-05-10 2017-09-08 深圳市创世互动科技有限公司 一种将游戏软件接入目标渠道sdk的方法及装置
CN108829405A (zh) * 2018-06-04 2018-11-16 网易(杭州)网络有限公司 渠道包的生成方法及装置、存储介质、电子装置
CN110083367A (zh) * 2019-03-21 2019-08-02 平安普惠企业管理有限公司 应用安装包的优化处理方法、装置和计算机设备
CN111078223A (zh) * 2018-10-22 2020-04-28 腾讯科技(深圳)有限公司 一种应用程序的打包方法及装置
CN112052013A (zh) * 2020-08-03 2020-12-08 完美世界(北京)软件科技发展有限公司 软件包的生成方法及装置、存储介质、电子装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104363264A (zh) * 2014-10-22 2015-02-18 北京棱镜云桥科技有限公司 移动终端软件的多渠道sdk接入系统及方法
CN107145373A (zh) * 2017-05-10 2017-09-08 深圳市创世互动科技有限公司 一种将游戏软件接入目标渠道sdk的方法及装置
CN108829405A (zh) * 2018-06-04 2018-11-16 网易(杭州)网络有限公司 渠道包的生成方法及装置、存储介质、电子装置
CN111078223A (zh) * 2018-10-22 2020-04-28 腾讯科技(深圳)有限公司 一种应用程序的打包方法及装置
CN110083367A (zh) * 2019-03-21 2019-08-02 平安普惠企业管理有限公司 应用安装包的优化处理方法、装置和计算机设备
CN112052013A (zh) * 2020-08-03 2020-12-08 完美世界(北京)软件科技发展有限公司 软件包的生成方法及装置、存储介质、电子装置

Similar Documents

Publication Publication Date Title
JP6936016B2 (ja) パッケージファイルに対する機能拡張方法およびシステム
US7337436B2 (en) System and method for cross platform and configuration build system
WO2017185606A1 (zh) 基于overlay机制的APK开发方法及系统
US8713514B2 (en) Heterogeneous language data typing without executable regeneration
CN107273126B (zh) 应用开发方法和装置
CN106775744B (zh) 一种生成静态库的方法和装置
CN111399840A (zh) 一种模块开发方法及装置
CN111475227A (zh) 业务插件加载实现方法、装置和终端设备
CN110597564A (zh) 一种安装包构建和业务组件加载方法、装置、终端设备
CN114721688A (zh) 一种sdk升级方法、装置以及计算机设备
CN110543327A (zh) 业务组件复用方法、装置、计算机设备及存储介质
CN113296742A (zh) App数据处理方法、装置及移动终端
CN110716786B (zh) 一种页面展示方法、系统及存储介质
CN111625294A (zh) 一种服务器项目执行方法、装置及其相关设备
US10620916B2 (en) Read-only communication operator
US20040157593A1 (en) Modularization for J2ME platform implementation
CN109508193B (zh) 一种应用部署运行方法、装置、终端设备和介质
CN112905194A (zh) 一种安装包生成方法及装置
CN110727416A (zh) 开发框架的生成方法及相关装置
CN113127005A (zh) 一种可执行文件生成的方法、装置以及计算机存储介质
KR20110108143A (ko) 스크립트 프로그래밍 언어 기반의 임베디드 시스템 및 그 구동 방법
CN113626005B (zh) 一种区块链基础合约开发部署方法、设备及储存介质
CN111694730B (zh) 一种消除错误引用控件资源的方法及装置
US11954007B2 (en) Tracking usage of common libraries by means of digitally signed digests thereof
RU2786200C1 (ru) Система и способ установки персонализированного приложения на мобильное устройство

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant after: Douyin Vision Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant before: Tiktok vision (Beijing) Co.,Ltd.

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant after: Tiktok vision (Beijing) Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant before: BEIJING BYTEDANCE NETWORK TECHNOLOGY Co.,Ltd.