本申请涉及计算机领域,具体涉及一种插件打包方法、装置、计算机可读存储介质及计算机设备。
背景技术:
1、安卓(android)插件化是一种高度解耦合,有效解决安装包大小的方式。通过插件化技术能够实现应用(app)内功能动态添加,因此android插件化技术在国内十分流行。目前采用aab(android apk bundle)打包方式,结合插件化的技术产出了一个应用和插件打包的gradle工具,但受限于aab模式加载插件时对于插件应用程序包(androidapplication package,apk)内记录的app版本号校验,导致新版本插件无法向低版本app复用。
2、目前在android项目编译打包过程中,通常生成单一版本的apk文件。对于在aab模式下高低版本插件复用,采用的是切换app版本号为指定版本号,然后打包产出对于版本的插件,最后通过服务来分发这些插件。
3、在对现有技术的研究和实践过程中,本申请的发明人发现,现有技术中多版本打包的方式需要切换app版本号,然后进行多次的打包才能实现高版本插件在低版本复用,过程十分的耗时。
技术实现思路
1、本申请实施例提供一种插件打包方法及装置,可以提高多版本打包插件时的打包效率,缩短打包时长。
2、为解决上述技术问题,本申请实施例提供以下技术方案:
3、一种插件打包方法,包括:
4、接收插件打包指令,确定待打包插件期望应用的宿主应用的期望应用版本;
5、若所述宿主应用的应用版本存在多个,则基于当前应用版本以及期望应用版本,确定待打包的目标应用版本;
6、按照所述目标应用版本的目标版本号对当前应用版本对应的插件包进行版本号修改,得到目标应用版本的插件包。
7、一种插件打包装置,包括:
8、第一确定模块,用于接收插件打包指令,确定待打包插件期望应用的宿主应用的期望应用版本;
9、第二确定模块,用于若所述宿主应用的应用版本存在多个,则基于当前应用版本以及期望应用版本,确定待打包的目标应用版本;
10、修改模块,用于按照所述目标应用版本的目标版本号对当前应用版本对应的插件包进行版本号修改,得到目标应用版本的插件包。
11、在本申请实施例提供的插件打包装置中,修改模块,包括:
12、解压子模块,用于将当前应用版本对应的插件包进行解压,得到解压文件;
13、修改子模块,用于基于所述目标应用版本的目标版本号,对所述解压文件进行版本号修改,得到修改后的解压文件;
14、打包子模块,用于对所述修改后的解压文件进行打包,得到目标应用版本的插件包。
15、在本申请实施例提供的插件打包装置中,修改模块,还包括:
16、转换子模块,用于对所述修改后的解压文件进行格式转换,得到目标格式的解压文件;
17、打包子模块,用于:
18、对所述目标格式的解压文件进行打包,得到目标应用版本的插件包。
19、在本申请实施例提供的插件打包装置中,修改模块,还包括:
20、替换子模块,用于将所述修改后的解压文件替换为所述目标格式的解压文件。
21、在本申请实施例提供的插件打包装置中,插件打包装置,还包括:
22、接收模块,用于按照当前宿主应用对应的当前应用版本进行插件打包,得到当前应用版本的插件包。
23、在本申请实施例提供的插件打包装置中,插件打包装置,还包括:
24、存储模块,用于将所述目标应用版本的插件包存储至所述目标应用版本对应的指定存储路径下。
25、一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行上述插件打包方法中的步骤。
26、一种计算机设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述插件打包方法中的步骤。
27、本申请实施例通过接收插件打包指令,确定待打包插件期望应用的宿主应用的期望应用版本;若所述宿主应用的应用版本存在多个,则基于当前应用版本以及期望应用版本,确定待打包的目标应用版本;按照所述目标应用版本的目标版本号对当前应用版本对应的插件包进行版本号修改,得到目标应用版本的插件包。以此,通过对当前应用版本对应的插件包进行版本号修改的方式,将当前应用版本对应的插件包变更为待打包的目标应用版本的插件包,从而避免针对于每一应用版本均进行一次打包的流程,提高多版本打包插件时的打包效率,缩短打包时长。
1.一种插件打包方法,其特征在于,包括:
2.根据权利要求1所述的插件打包方法,其特征在于,所述按照所述目标应用版本的目标版本号对当前应用版本对应的插件包进行版本号修改,得到目标应用版本的插件包的步骤,包括:
3.根据权利要求2所述的插件打包方法,其特征在于,在所述基于所述目标应用版本的目标版本号,对所述解压文件进行版本号修改,得到修改后的解压文件的步骤之后,还包括:
4.根据权利要求3所述的插件打包方法,其特征在于,在所述对所述修改后的解压文件进行格式转换,得到目标格式的解压文件的步骤之后,还包括:
5.根据权利要求2所述的插件打包方法,其特征在于,在所述将当前应用版本对应的插件包进行解压,得到解压文件的步骤之前,还包括:
6.根据权利要求1至5任一项所述的插件打包方法,其特征在于,在所述按照所述目标应用版本的目标版本号对当前应用版本对应的插件包进行版本号修改,得到目标应用版本的插件包的步骤之后,还包括:
7.一种插件打包装置,其特征在于,包括:
8.根据权利要求7所述的插件打包装置,其特征在于,所述修改模块,包括:
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至6任一项所述的插件打包方法中的步骤。
10.一种计算机设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述的插件打包方法中的步骤。