生成应用数据包的方法、设备以及计算机可读介质技术

技术编号:29788673 阅读:13 留言:0更新日期:2021-08-24 18:07
本申请提供了一种生成应用数据包的方案,该方案可以将应用程序中外部依赖指定为动态功能模块对应的代码内容,并将应用程序中除所述外部依赖之外的代码内容指定为主模块对应的代码内容,由于外部依赖构建的动态功能模块与工程依赖所对应的动态功能模块不同,若直接使用app bundle默认的官方构建方式,无法自动组织构建任务的执行顺序,因此可以根据主模块和动态功能模块的依赖关系,确定构建任务的执行顺序,在执行过程中,将所述动态功能模块的构建任务对应的构建产物提供给与其具有依赖关系的主模块的相应构建任务,以生成包括主模块和动态功能模块的应用数据包,使得发布时对应于主模块的基础包的大小,能够符合特定应用发布平台的要求。

【技术实现步骤摘要】
生成应用数据包的方法、设备以及计算机可读介质
本申请涉及信息
,尤其涉及一种生成应用数据包的方法、设备以及计算机可读介质。
技术介绍
部分应用发布平台中对于发布的apk(Androidapplicationpackage,安卓应用程序包)文件的大小会作出限制,例如一部分应用发布平台中对于文件的大小限制为100M,也就是说开发者在这些应用发布平台上发布应用程序时,只能上传小于100M的apk文件,因此会对内容较多的应用程序造成一些限制。目前存在一种appbundle的应用数据包构建方案,能够解决包大小问题对于应用程序的限制。appbundle是一种能够根据手机特性等,大幅度降低用户下载apk文件的大小的一套实现方案,开发者以aab格式将应用数据包提交到应用发布平台,由应用发布平台进行识别,并动态下发用户需要的apk文件。appbundle在实现时一般都是基于应用程序中的工程依赖(ProjectDependency)。因此,若不使用或者使用工程依赖较少的应用程序需要在此类应用发布平台中发布,由于生成环境中没有或者仅有较少的工程依赖,若直接将appbundle官方给出的实现方式套用于此类应用程序的构建,难以缩减应用程序的基础包(baseapk)的大小,使得获得的应用数据包无法在此类应用发布平台中发布。由此可知,目前没有一种较好的方式能够适用于使用工程依赖较少的应用程序,直接基于此类应用程序构建出符合此类应用发布平台要求的应用数据包。申请内容本申请的一个目的是提供一种构建应用数据包的方案,用以解决现有方案中没有一种较好的构建方案能够适用于使用工程依赖较少的应用程序,使得构建的应用数据包符合特定应用发布平台的要求的问题。本申请实施例中提供了一种生成应用数据包的方法,该方法包括:将应用程序中用户指定的外部依赖,确定为动态功能模块对应的代码内容,并将应用程序中除所述用户指定的外部依赖之外的代码内容,确定为主模块对应的代码内容;根据所述主模块和所述动态功能模块的依赖关系,确定主模块的构建任务与动态功能模块的构建任务的执行顺序,其中,主模块的构建任务需要获取与其具有依赖关系的动态功能模块的构建任务所对应的构建产物,所述构建产物为构建任务完成后所获得的信息;根据所述执行顺序执行构建任务,在执行过程中,将所述动态功能模块的构建任务对应的构建产物提供给与其具有依赖关系的主模块的相应构建任务,以生成包括主模块和动态功能模块的应用数据包。本申请实施例提供了另一种生成应用数据包的方法,该方法包括:获取用户输入的模块指定信息,所述模块指定信息用于确定应用程序中用户指定的外部依赖;根据所述模块指定信息,将应用程序中用户指定的外部依赖,确定为动态功能模块对应的代码内容,并将应用程序中除所述用户指定的外部依赖之外的代码内容,确定为主模块对应的代码内容;根据所述主模块和所述动态功能模块的依赖关系,确定主模块的构建任务与动态功能模块的构建任务的执行顺序,其中,主模块的构建任务需要获取与其具有依赖关系的动态功能模块的构建任务所对应的构建产物,所述构建产物为构建任务完成后所获得的信息;根据所述执行顺序执行构建任务,在执行过程中,将所述动态功能模块的构建任务对应的构建产物提供给与其具有依赖关系的主模块的构建任务,以生成包括主模块和动态功能模块的应用数据包;输出所述应用数据包。本申请实施例还提供了一种生成应用数据包的设备,该设备包括:功能指定模块,用于将应用程序中用户指定的外部依赖,确定为动态功能模块对应的代码内容,并将应用程序中除所述用户指定的外部依赖之外的代码内容确定为主模块对应的代码内容;依赖分析模块,用于根据所述主模块和所述动态功能模块的依赖关系,确定主模块的构建任务与动态功能模块的构建任务的执行顺序,其中,主模块的构建任务需要获取与其具有依赖关系的动态功能模块的构建任务所对应的构建产物,所述构建产物为构建任务完成后所获得的信息;构建处理模块,用于根据所述执行顺序执行构建任务,在执行过程中,将所述动态功能模块的构建任务对应的构建产物提供给与其具有依赖关系的主模块的相应构建任务,以生成包括主模块和动态功能模块的应用数据包。本申请实施例还提供了另一种生成应用数据包的设备,该设备包括:交互模块,用于获取用户输入的模块指定信息,以及输出应用数据包,所述模块指定信息用于确定应用程序中用户指定的外部依赖;功能指定模块,用于将应用程序中用户指定的外部依赖,确定为动态功能模块对应的代码内容,并将应用程序中除所述用户指定的外部依赖之外的代码内容确定为主模块对应的代码内容;依赖分析模块,用于根据所述主模块和所述动态功能模块的依赖关系,确定主模块的构建任务与动态功能模块的构建任务的执行顺序,其中,主模块的构建任务需要获取与其具有依赖关系的动态功能模块的构建任务所对应的构建产物,所述构建产物为构建任务完成后所获得的信息;构建处理模块,用于根据所述执行顺序执行构建任务,在执行过程中,将所述动态功能模块的构建任务对应的构建产物提供给与其具有依赖关系的主模块的相应构建任务,以生成包括主模块和动态功能模块的应用数据包。此外,本申请实施例还提供了一种计算设备,该设备包括用于存储计算机程序指令的存储器和用于执行计算机程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述设备执行所述生成应用数据包的方法。本申请实施例还提供了一种计算机可读介质,其上存储有计算机程序指令,所述计算机可读指令可被处理器执行以实现所述生成应用数据包的方法。本申请实施例提供的构建应用数据包的方案中,可以将应用程序中外部依赖指定为动态功能模块对应的代码内容,并将应用程序中除所述外部依赖之外的代码内容指定为主模块对应的代码内容,由于外部依赖构建的动态功能模块与工程依赖所对应的动态功能模块不同,若直接使用appbundle默认的官方构建方式,无法自动组织构建任务的执行顺序,因此可以根据主模块和动态功能模块的依赖关系,确定构建任务的执行顺序,在执行过程中,将所述动态功能模块的构建任务对应的构建产物提供给与其具有依赖关系的主模块的相应构建任务,以生成包括主模块和动态功能模块的应用数据包,使得发布时对应于主模块的基础包的大小,能够符合特定应用发布平台的要求。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1为本申请实施例提供的一种生成应用数据包的方法的示意图;图2为本申请实施例中在主模块构建任务中插入动态功能模块的生成任务的原理示意图;图3为本申请实施例提供的一种生成应用数据包的设备的结构示意图;图4为本申请实施例提供的一种用于生成应用数据包的计算设备的结构示意图;图5为本申请实施例中一个应用程序的应用数据包构建过程中的主要步骤示意图;图6为本申请实施例在生成应用数据包时的逻辑示意图;附图中相同本文档来自技高网...

【技术保护点】
1.一种生成应用数据包的方法,其中,该方法包括:/n将应用程序中用户指定的外部依赖,确定为动态功能模块对应的代码内容,并将应用程序中除所述用户指定的外部依赖之外的代码内容,确定为主模块对应的代码内容;/n根据所述主模块和所述动态功能模块的依赖关系,确定主模块的构建任务与动态功能模块的构建任务的执行顺序,其中,主模块的构建任务需要获取与其具有依赖关系的动态功能模块的构建任务所对应的构建产物,所述构建产物为构建任务完成后所获得的信息;/n根据所述执行顺序执行构建任务,在执行过程中,将所述动态功能模块的构建任务对应的构建产物提供给与其具有依赖关系的主模块的相应构建任务,以生成包括主模块和动态功能模块的应用数据包。/n

【技术特征摘要】
1.一种生成应用数据包的方法,其中,该方法包括:
将应用程序中用户指定的外部依赖,确定为动态功能模块对应的代码内容,并将应用程序中除所述用户指定的外部依赖之外的代码内容,确定为主模块对应的代码内容;
根据所述主模块和所述动态功能模块的依赖关系,确定主模块的构建任务与动态功能模块的构建任务的执行顺序,其中,主模块的构建任务需要获取与其具有依赖关系的动态功能模块的构建任务所对应的构建产物,所述构建产物为构建任务完成后所获得的信息;
根据所述执行顺序执行构建任务,在执行过程中,将所述动态功能模块的构建任务对应的构建产物提供给与其具有依赖关系的主模块的相应构建任务,以生成包括主模块和动态功能模块的应用数据包。


2.根据权利要求1所述的方法,其中,该方法还包括:
对动态功能模块对应的所述外部依赖进行标记,生成识别标识;
在将应用程序中用户指定的外部依赖,确定为动态功能模块对应的代码内容之前,根据所述识别标识,识别出所述外部依赖。


3.根据权利要求2所述的方法,其中,对动态功能模块对应的所述外部依赖进行标记,生成识别标识,包括:
将动态功能模块对应的所述外部依赖打包为预设格式的文件;
根据识别标识,识别出所述外部依赖,包括:
将打包为预设格式的文件的外部依赖确定为动态功能模块对应的所述外部依赖。


4.根据权利要求1所述的方法,其中,该方法还包括:
获取输出开关信息;
根据所述输出开关信息,控制生成的包括主模块和动态功能模块的应用数据包的格式。


5.根据权利要求4所述的方法,其中,生成包括主模块和动态功能模块的应用数据包,包括:
获取应用数据包生成命令的配置信息,所述配置信息至少包括输出开关信息;
通过应用数据包生成命令生成目标格式的应用数据包。


6.一种生成应用数据包的方法,其中,该方法包括:
获取用户输入的模块指定信息,所述模块指定信息用于确定应用程序中用户指定的外部依赖;
根据所述模块指定信息,将应用程序中用户指定的外部依赖,确定为动态功能模块对应的代码内容,并将应用程序中除所述用户指定的外部依赖之外的代码内容,确定为主模块对应的代码内容;
根据所述主模块和所述动态功能模块的依赖关系,确定主模块的构建任务与动态功能模块的构建任务的执行顺序,其中,主模块的构建任务需要获取与其具有依赖关系的动态功能模块的构建任务所对应的构建...

【专利技术属性】
技术研发人员:李龙
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

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

1