CN117762434A - 原生应用打包方法、装置、电子设备及存储介质 - Google Patents
原生应用打包方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117762434A CN117762434A CN202311757203.0A CN202311757203A CN117762434A CN 117762434 A CN117762434 A CN 117762434A CN 202311757203 A CN202311757203 A CN 202311757203A CN 117762434 A CN117762434 A CN 117762434A
- Authority
- CN
- China
- Prior art keywords
- data packet
- dependent
- frame information
- modified
- dependent data
- 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
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000004806 packaging method and process Methods 0.000 title claims abstract description 38
- 230000001419 dependent effect Effects 0.000 claims abstract description 187
- 238000009434 installation Methods 0.000 claims abstract description 23
- 238000013507 mapping Methods 0.000 claims description 74
- 238000012986 modification Methods 0.000 claims description 16
- 230000004048 modification Effects 0.000 claims description 16
- 238000006467 substitution reaction Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 239000007858 starting material Substances 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本申请提供一种原生应用打包方法、装置、电子设备及存储介质,涉及计算机技术领域。该方法包括:获取预设项目的项目对象模型文件,原始项目对象模型文件包括:预设项目的原始框架信息、基本数据包、依赖数据包;根据原始框架信息和目标框架信息,对基本数据包和依赖数据包进行修改,得到修改后的基本数据包和依赖数据包;根据修改后的基本数据包和依赖数据包,生成预设项目的原生应用的安装包。本申请可以生成满足目标框架信息的项目对象模型文件,从而可以打包生成原生应用。
Description
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种原生应用打包方法、装置、电子设备及存储介质。
背景技术
当前Java web服务基本是以SpringBoot1x-2x框架为基础进行开发的,但是SpringBoot1x-2x并不支持打包成原生应用,之后SpringBoot3x才支持打包成原生应用。
个人或者企业的SpringBoot项目往往需要依赖大量的第三方JAR包提供的功能,但是这些JAR包不支持SpringBoot3x的规范,导致项目无法打包成原生应用。
发明内容
本发明的目的在于,针对上述现有技术中的不足,提供一种原生应用打包方法、装置、电子设备及存储介质,以便可以生成满足目标框架信息的项目对象模型文件,从而可以打包生成原生应用。
为实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供了一种原生应用打包方法,所述方法包括:
获取预设项目的项目对象模型文件,所述项目对象模型文件包括:所述预设项目的原始框架信息、基本数据包、依赖数据包;
根据所述原始框架信息和目标框架信息,对所述基本数据包和所述依赖数据包进行修改,得到修改后的基本数据包和依赖数据包;
根据所述修改后的基本数据包和依赖数据包,生成所述预设项目的原生应用的安装包。
在一种可能的实现方式中,所述根据所述原始框架信息和目标框架信息,对所述基本数据包和所述依赖数据包进行修改,得到修改后的基本数据包和依赖数据包之前,所述方法还包括:
判断所述原始框架信息是否为所述目标框架信息;
所述根据所述原始框架信息和目标框架信息,对所述基本数据包和所述依赖数据包进行修改,得到修改后的基本数据包和依赖数据包,包括:
若所述原始框架信息不是所述目标框架信息,根据所述原始框架信息和所述目标框架信息,对所述基本数据包和所述依赖数据包进行修改,得到修改后的基本数据包和依赖数据包。
在一种可能的实现方式中,所述方法还包括:
若所述原始框架信息是所述目标框架信息,根据所述项目对象模型文件,生成所述预设项目的原生应用的安装包。
在一种可能的实现方式中,所述根据所述原始框架信息和目标框架信息,对所述基本数据包和依赖数据包进行修改,得到修改后的基本数据包和依赖数据包,包括:
获取所述原始框架信息和所述目标框架信息之间的依赖替换映射信息;
根据所述依赖替换映射信息,对所述依赖数据包进行替换,得到修改后的依赖数据包;
根据所述目标框架信息,对所述基本数据包进行配置修改,得到所述修改后的基本数据包。
在一种可能的实现方式中,所述根据所述依赖替换映射信息,对所述依赖数据包进行替换,得到修改后的依赖数据包,包括:
判断所述依赖替换映射信息中是否包括所述依赖数据包的替换映射;
若所述依赖替换映射信息中包括所述依赖数据包的替换映射,对所述依赖数据包进行替换,得到修改后的依赖数据包。
在一种可能的实现方式中,所述根据所述依赖替换映射信息,对所述依赖数据包进行替换,得到修改后的依赖数据包,还包括:
若所述依赖替换映射信息中不包括所述依赖数据包的替换映射,且所述依赖数据包为第一JAR包,对所述第一JAR包的class文件进行替换,得到修改后的依赖数据包。
在一种可能的实现方式中,所述根据所述依赖替换映射信息,对所述依赖数据包进行替换,得到修改后的依赖数据包,还包括:
若所述依赖替换映射信息中不包括所述依赖数据包的替换映射,且所述依赖数据包为第二JAR包,对所述第二JAR包的配置文件进行替换,得到修改后的依赖数据包。
第二方面,本申请实施例还提供一种原生应用打包装置,所述装置包括:
文件获取模块,用于获取预设项目的项目对象模型文件,所述项目对象模型文件包括:所述预设项目的原始框架信息、基本数据包、依赖数据包;
数据包修改模块,用于根据所述原始框架信息和目标框架信息,对所述基本数据包和所述依赖数据包进行修改,得到修改后的基本数据包和依赖数据包;
安装包生成模块,用于根据所述修改后的基本数据包和依赖数据包,生成所述预设项目的原生应用的安装包。
在一种可能的实现方式中,所述数据包修改模块之前,所述装置还包括:
框架信息判断模块,用于判断所述原始框架信息是否为所述目标框架信息;
所述数据包修改模块,具体用于若所述原始框架信息不是所述目标框架信息,根据所述原始框架信息和所述目标框架信息,对所述基本数据包和所述依赖数据包进行修改,得到修改后的基本数据包和依赖数据包。
在一种可能的实现方式中,所述安装包生成模块,还用于若所述原始框架信息是所述目标框架信息,根据所述项目对象模型文件,生成所述预设项目的原生应用的安装包。
在一种可能的实现方式中,所述数据包修改模块,包括:
映射信息获取单元,用于获取所述原始框架信息和所述目标框架信息之间的依赖替换映射信息;
依赖数据包替换单元,用于根据所述依赖替换映射信息,对所述依赖数据包进行替换,得到修改后的依赖数据包;
基本数据包修改单元,用于根据所述目标框架信息,对所述基本数据包进行配置修改,得到所述修改后的基本数据包。
在一种可能的实现方式中,所述依赖数据包替换单元,具体用于判断所述依赖替换映射信息中是否包括所述依赖数据包的替换映射;若所述依赖替换映射信息中包括所述依赖数据包的替换映射,对所述依赖数据包进行替换,得到修改后的依赖数据包。
在一种可能的实现方式中,所述依赖数据包替换单元,还用于若所述依赖替换映射信息中不包括所述依赖数据包的替换映射,且所述依赖数据包为第一JAR包,对所述第一JAR包的class文件进行替换,得到修改后的依赖数据包。
在一种可能的实现方式中,所述依赖数据包替换单元,还用于若所述依赖替换映射信息中不包括所述依赖数据包的替换映射,且所述依赖数据包为第二JAR包,对所述第二JAR包的配置文件进行替换,得到修改后的依赖数据包。
第三方面,本申请实施例还提供一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行如第一方面任一项所述的原生应用打包方法的步骤。
第四方面,本申请实施例还提供一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行第一方面任一项所述的原生应用打包方法的步骤。
本申请的有益效果是:
本申请提供的原生应用打包方法、装置、电子设备及存储介质,根据预设项目的原始框架信息和目标框架信息,对预设项目的基本数据包和依赖数据包进行修改,得到修改后的满足目标框架信息的基本数据包和依赖数据包,以根据修改后的基本数据包和依赖数据包,生成预设项目的原生应用的安装包,实现通过将项目对象模型文件升级为满足目标框架信息的项目对象模型文件,从而实现将项目打包成原生应用。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的原生应用打包方法的流程示意图一;
图2为本申请实施例提供的原生应用打包方法的流程示意图二;
图3为本申请实施例提供的原生应用打包方法的流程示意图三;
图4为本申请实施例提供的原生应用打包方法的流程示意图四;
图5为本申请实施例提供的原生应用打包装置的结构示意图;
图6为本申请实施例提供的电子设备的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
此外,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在不冲突的情况下,本申请的实施例中的特征可以相互结合。
请参考图1,为本申请实施例提供的原生应用打包方法的流程示意图一,如图1所示,该方法可以包括:
S101:获取预设项目的项目对象模型文件,项目对象模型文件包括:预设项目的原始框架信息、基本数据包、依赖数据包。
在本实施例中,预设项目是针对Java web服务开发的项目,项目对象模型(Project Object Model,POM)文件用于定义预设项目的基本信息,预设项目的基本信息包括:预设项目的原始框架信息、基本数据包和依赖数据包。
其中,预设项目的原始框架信息用于指示开发预设项目所使用的框架的版本信息,具体的,原始框架信息可以为开发预设项目所使用的SpringBoot框架的版本信息。
基本数据包是针对预设项目所开发的专属数据包,基本数据包中包括:预设项目的专属自动配置文件、专属组件属性配置文件、专属注解和专属接口等信息。
依赖数据包是开发预设项目时所使用的第三方数据包,第三方数据包中包括:第三方自动配置文件、第三方注解和第三方接口等信息。
S102:根据原始框架信息和目标框架信息,对基本数据包和依赖数据包进行修改,得到修改后的基本数据包和依赖数据包。
在本实施例中,目标框架信息用于指示可以打包生成原生应用的框架的版本信息,具体的,目标框架信息可以为SpringBoot3x。
根据原始框架信息中基本数据包和依赖数据包的数据规范,以及目标框架信息所规定的基本数据包和依赖数据包的数据规范,对基本数据包和依赖数据包的自动配置文件、组件属性配置文件、注解、接口等信息的数据规范进行修改,使得修改后的基本数据包和依赖数据包满足目标框架信息所规定的数据规范。
S103:根据修改后的基本数据包和依赖数据包,生成预设项目的原生应用的安装包。
在本实施例中,通过对POM文件中的基本数据包和依赖数据包的数据规范进行修改,得到包括修改后的基本数据包和依赖数据包的新的POM文件,新的POM文件符合SpringBoot3x的框架,通过对新的POM文件进行打包,生成预设项目的原生应用的安装包,使得可以直接在操作***下运行该原生应用的应用程序。
在一些实施例中,可以采用运行前编译(Ahead of Time,AOT)的方式对新的POM文件进行打包,采用AOT方式打包的应用在打包体积、程序启动速度和消耗内存方面具有较大的优势。
在一种可能的实现方式中,可以使用maven插件执行上述S101-S103的步骤,自动化将原始版本框架下的POM文件升级为目标版本框架下的POM文件,并将目标版本框架下的POM文件打包生成原生应用。
具体的过程可以为:将用于打包生成原生应用的maven插件引入到SpringBoot项目的POM文件中,在执行maven打包时调用该maven插件,自动化将SpringBoot1x-2x的POM文件升级为SpringBoot3x的POM文件,并将SpringBoot3x的POM文件打包生成原生应用。
上述实施例提供的原生应用打包方法,根据预设项目的原始框架信息和目标框架信息,对预设项目的基本数据包和依赖数据包进行修改,得到修改后的满足目标框架信息的基本数据包和依赖数据包,以根据修改后的基本数据包和依赖数据包,生成预设项目的原生应用的安装包,实现通过将项目对象模型文件升级为满足目标框架信息的项目对象模型文件,从而实现将项目打包成原生应用。
在一种可能的实现方式中,请参考图2,为本申请实施例提供的原生应用打包方法的流程示意图二,如图2所示,在上述S102根据原始框架信息和目标框架信息,对基本数据包和依赖数据包进行修改,得到修改后的基本数据包和依赖数据包之前,该方法还可以包括:
S201:判断原始框架信息是否为目标框架信息。
上述S102根据原始框架信息和目标框架信息,对基本数据包和依赖数据包进行修改,得到修改后的基本数据包和依赖数据包的过程,可以包括:
S202:若原始框架信息不是目标框架信息,根据原始框架信息和目标框架信息,对基本数据包和依赖数据包进行修改,得到修改后的基本数据包和依赖数据包。
在本实施例中,在对预设项目的基本数据包和依赖数据包进行修改前,需要先包括用于开发预设项目的框架版本是否是目标框架版本,具体的,判断原始框架信息是否与目标框架信息一致,若原始框架信息与目标框架信息不一致,则确定需要将预设项目的基本数据包和依赖数据包修改为满足目标框架版本的基本数据包和依赖数据包。
具体的,若原始框架版本为SpringBoot1x或SpringBoot2x,目标框架
版本为SpringBoot3x,则确定原始框架信息与目标框架信息不一致。
在一些实施例中,如图2所示,该方法还可以包括:
S203:若原始框架信息是目标框架信息,根据项目对象模型文件,生成预设项目的原生应用的安装包。
在本实施例中,若开发预设项目的框架版本是目标框架版本,即原始框架信息与目标框架信息一致,则预设项目的POM文件本身就符合SpringBoot3x的框架,不需要对POM文件中的基本数据包和依赖数据包进行修改,可以直接对POM文件进行打包,生成预设项目的原生应用的安装包。
上述实施例提供的原生应用打包方法,通过判断原始框架信息是否为目标框架信息,以在原始框架信息不是目标框架信息时,对基本数据包和依赖数据包进行修改,得到满足目标框架信息的基本数据包和依赖数据包,以根据修改后的基本数据包和依赖数据包,生成预设项目的原生应用的安装包;在原始框架信息是目标框架信息时,直接根据基本数据包和依赖数据包,生成预设项目的原生应用的安装包,实现将项目打包成原生应用。
在一种可能的实现方式中,请参考图3,为本申请实施例提供的原生应用打包方法的流程示意图三,如图3所示,上述S102根据原始框架信息和目标框架信息,对基本数据包和依赖数据包进行修改,得到修改后的基本数据包和依赖数据包的过程,可以包括:
S301:获取原始框架信息和目标框架信息之间的依赖替换映射信息。
在本实施例中,预先建立原始框架信息对应的依赖数据包和目标框架信息对应的依赖数据包之间的依赖替换映射信息,依赖替换映射信息用于指示原始框架版本和目标框架版本之间依赖数据包的替换关系。
在一些实施例中,建立依赖替换映射信息的方式为:针对原始框架信息中的每个依赖数据包,获取功能相同的满足目标框架信息的依赖数据包,建立相同功能的依赖数据包的替换映射关系,得到原始框架信息和目标框架信息之间的依赖替换映射信息。
S302:根据依赖替换映射信息,对依赖数据包进行替换,得到修改后的依赖数据包。
在本实施例中,根据依赖替换映射信息,确定POM文件中的依赖数据包所对应的目标框架版本的替换依赖数据包,根据替换依赖数据包,对POM文件中的依赖数据包进行替换。
S303:根据目标框架信息,对基本数据包进行配置修改,得到修改后的基本数据包。
在本实施例中,通过对预设项目的POM文件进行解析,确定基本数据包中的专属自动配置文件、专属组件属性配置文件、专属注解和专属接口,根据目标框架信息中规定的数据规范,对专属自动配置文件、专属组件属性配置文件、专属注解和专属接口的代码进行修改,得到满足目标框架版本规范的基本数据包。
在一些实施例中,可以使用Java抽象语法结构树(abstract syntax tree,AST)对POM文件进行解析,Java AST可以为JavaParser。
上述实施例提供的原生应用打包方法,根据原始框架信息和目标框架信息之间的依赖替换映射信息,对依赖数据包进行替换,得到修改后的依赖数据包,根据目标框架信息,对基本数据包进行配置修改,得到修改后的基本数据包,实现通过将项目对象模型文件升级为满足目标框架信息的项目对象模型文件,从而实现将项目打包成原生应用。
在一种可能的实现方式中,请参考图4,为本申请实施例提供的原生应用打包方法的流程示意图四,如图4所示,上述S302根据依赖替换映射信息,对依赖数据包进行替换,得到修改后的依赖数据包的过程,可以包括:
S401:判断依赖替换映射信息中是否包括依赖数据包的替换映射。
S402:若依赖替换映射信息中包括依赖数据包的替换映射,对依赖数据包进行替换,得到修改后的依赖数据包。
在本实施例中,建立依赖替换映射信息需要针对原始框架信息中的每个依赖数据包,获取功能相同的满足目标框架信息的依赖数据包,若原始框架信息中的依赖数据包没有对应的满足目标框架信息的依赖数据包,则所建立的依赖替换映射信息中不会包括依赖数据包对应的替换映射。
在对依赖数据包进行修改时,需要判断依赖替换映射信息中是否存在依赖数据包对应的替换依赖数据包,若依赖替换映射信息中存在依赖数据包对应的替换依赖数据包,则根据依赖替换映射信息,确定POM文件中的依赖数据包所对应的目标框架版本的替换依赖数据包,根据替换依赖数据包,对POM文件中的依赖数据包进行替换。
在一种可能的实现方式中,上述S302根据依赖替换映射信息,对依赖数据包进行替换,得到修改后的依赖数据包的过程,还可以包括:
若依赖替换映射信息中不包括依赖数据包的替换映射,且依赖数据包为第一JAR包,对第一JAR包的class文件进行替换,得到修改后的依赖数据包。
在本实施例中,若依赖替换映射信息中不存在依赖数据包对应的替换依赖数据包,则无法根据依赖替换映射信息直接替换POM文件中的依赖数据包,在此情况下,对于依赖数据包中的第一JAR包,第一JAR包为第三方提供的常规工具包,是一种可以在多种类型的项目中适用的JAR包,对于第一JAR包,通过将第一JAR包中的class文件替换为支持目标框架版本的开发工具的class文件,得到修改后的依赖数据包。
具体的,SpringBoot3x框架的开发工具为JDK17,将第一JAR包中的class文件升级为支持JDK17的class文件,得到支持JDK17的JAR包。
在另一种可能的实现方式中,上述S302根据依赖替换映射信息,对依赖数据包进行替换,得到修改后的依赖数据包的过程,还可以包括:
若依赖替换映射信息中不包括依赖数据包的替换映射,且依赖数据包为第二JAR包,对第二JAR包的配置文件进行替换,得到修改后的依赖数据包。
在本实施例中,第二JAR包是需要满足框架规范的JAR包,具体为Starter JAR包,对于Starter JAR包,通过将Starter JAR包中的自动配置文件、注解、接口修改为满足SpringBoot3x规范的自动配置文件、注解、接口,以将Starter JAR包升级为支持JDK17的Starter JAR包。
上述实施例提供的原生应用打包方法,对于依赖替换映射信息中不存在依赖数据包的替换映射,对第一JAR包的class文件进行替换,对第二JAR包的配置文件进行替换,得到修改后的依赖数据包,实现通过将项目对象模型文件升级为满足目标框架信息的项目对象模型文件,从而实现将项目打包成原生应用。
在上述方法实施例的基础上,本申请实施例还提供一种原生应用打包装置。请参考图5,为本申请实施例提供的原生应用打包装置的结构示意图,如图5所示,该装置可以包括:
文件获取模块101,用于获取预设项目的项目对象模型文件,项目对象模型文件包括:预设项目的原始框架信息、基本数据包、依赖数据包;
数据包修改模块102,用于根据原始框架信息和目标框架信息,对基本数据包和依赖数据包进行修改,得到修改后的基本数据包和依赖数据包;
安装包生成模块103,用于根据修改后的基本数据包和依赖数据包,生成预设项目的原生应用的安装包。
在一种可能的实现方式中,数据包修改模块102之前,该装置还可以包括:
框架信息判断模块,用于判断原始框架信息是否为目标框架信息;
数据包修改模块,具体用于若原始框架信息不是目标框架信息,根据原始框架信息和目标框架信息,对基本数据包和依赖数据包进行修改,得到修改后的基本数据包和依赖数据包。
在一种可能的实现方式中,安装包生成模块103,还用于若原始框架信息是目标框架信息,根据项目对象模型文件,生成预设项目的原生应用的安装包。
在一种可能的实现方式中,数据包修改模块102,包括:
映射信息获取单元,用于获取原始框架信息和目标框架信息之间的依赖替换映射信息;
依赖数据包替换单元,用于根据依赖替换映射信息,对依赖数据包进行替换,得到修改后的依赖数据包;
基本数据包修改单元,用于根据目标框架信息,对基本数据包进行配置修改,得到修改后的基本数据包。
在一种可能的实现方式中,依赖数据包替换单元,具体用于判断依赖替换映射信息中是否包括依赖数据包的替换映射;若依赖替换映射信息中包括依赖数据包的替换映射,对依赖数据包进行替换,得到修改后的依赖数据包。
在一种可能的实现方式中,依赖数据包替换单元,还用于若依赖替换映射信息中不包括依赖数据包的替换映射,且依赖数据包为第一JAR包,对第一JAR包的class文件进行替换,得到修改后的依赖数据包。
在一种可能的实现方式中,依赖数据包替换单元,还用于若依赖替换映射信息中不包括依赖数据包的替换映射,且依赖数据包为第二JAR包,对第二JAR包的配置文件进行替换,得到修改后的依赖数据包。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器,或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上***(system-on-a-chip,简称SOC)的形式实现。
请参考图6,为本申请实施例提供的电子设备的示意图,如图6所示,该电子设备200可以包括:处理器201、存储介质202和总线,存储介质202存储有处理器201可执行的程序指令,当电子设备200运行时,处理器201与存储介质202之间通过总线通信,处理器201执行程序指令,以执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
可选地,本发明还提供一种计算机可读存储介质,存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述方法实施例。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
上仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种原生应用打包方法,其特征在于,所述方法包括:
获取预设项目的项目对象模型文件,所述项目对象模型文件包括:所述预设项目的原始框架信息、基本数据包、依赖数据包;
根据所述原始框架信息和目标框架信息,对所述基本数据包和所述依赖数据包进行修改,得到修改后的基本数据包和依赖数据包;
根据所述修改后的基本数据包和依赖数据包,生成所述预设项目的原生应用的安装包。
2.如权利要求1所述的方法,其特征在于,所述根据所述原始框架信息和目标框架信息,对所述基本数据包和所述依赖数据包进行修改,得到修改后的基本数据包和依赖数据包之前,所述方法还包括:
判断所述原始框架信息是否为所述目标框架信息;
所述根据所述原始框架信息和目标框架信息,对所述基本数据包和所述依赖数据包进行修改,得到修改后的基本数据包和依赖数据包,包括:
若所述原始框架信息不是所述目标框架信息,根据所述原始框架信息和所述目标框架信息,对所述基本数据包和所述依赖数据包进行修改,得到修改后的基本数据包和依赖数据包。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
若所述原始框架信息是所述目标框架信息,根据所述项目对象模型文件,生成所述预设项目的原生应用的安装包。
4.如权利要求1所述的方法,其特征在于,所述根据所述原始框架信息和目标框架信息,对所述基本数据包和依赖数据包进行修改,得到修改后的基本数据包和依赖数据包,包括:
获取所述原始框架信息和所述目标框架信息之间的依赖替换映射信息;
根据所述依赖替换映射信息,对所述依赖数据包进行替换,得到修改后的依赖数据包;
根据所述目标框架信息,对所述基本数据包进行配置修改,得到所述修改后的基本数据包。
5.如权利要求4所述的方法,其特征在于,所述根据所述依赖替换映射信息,对所述依赖数据包进行替换,得到修改后的依赖数据包,包括:
判断所述依赖替换映射信息中是否包括所述依赖数据包的替换映射;
若所述依赖替换映射信息中包括所述依赖数据包的替换映射,对所述依赖数据包进行替换,得到修改后的依赖数据包。
6.如权利要求5所述的方法,其特征在于,所述根据所述依赖替换映射信息,对所述依赖数据包进行替换,得到修改后的依赖数据包,还包括:
若所述依赖替换映射信息中不包括所述依赖数据包的替换映射,且所述依赖数据包为第一JAR包,对所述第一JAR包的class文件进行替换,得到修改后的依赖数据包。
7.如权利要求5所述的方法,其特征在于,所述根据所述依赖替换映射信息,对所述依赖数据包进行替换,得到修改后的依赖数据包,还包括:
若所述依赖替换映射信息中不包括所述依赖数据包的替换映射,且所述依赖数据包为第二JAR包,对所述第二JAR包的配置文件进行替换,得到修改后的依赖数据包。
8.一种原生应用打包装置,其特征在于,所述装置包括:
文件获取模块,用于获取预设项目的项目对象模型文件,所述项目对象模型文件包括:所述预设项目的原始框架信息、基本数据包、依赖数据包;
数据包修改模块,用于根据所述原始框架信息和目标框架信息,对所述基本数据包和所述依赖数据包进行修改,得到修改后的基本数据包和依赖数据包;
安装包生成模块,用于根据所述修改后的基本数据包和依赖数据包,生成所述预设项目的原生应用的安装包。
9.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行如权利要求1至7任一项所述的原生应用打包方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至7任一项所述的原生应用打包方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311757203.0A CN117762434A (zh) | 2023-12-19 | 2023-12-19 | 原生应用打包方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311757203.0A CN117762434A (zh) | 2023-12-19 | 2023-12-19 | 原生应用打包方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117762434A true CN117762434A (zh) | 2024-03-26 |
Family
ID=90311700
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311757203.0A Pending CN117762434A (zh) | 2023-12-19 | 2023-12-19 | 原生应用打包方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117762434A (zh) |
-
2023
- 2023-12-19 CN CN202311757203.0A patent/CN117762434A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108647032B (zh) | 应用加载方法及装置、计算机装置和计算机可读存储介质 | |
CN111399840B (zh) | 一种模块开发方法及装置 | |
CN106569880B (zh) | 一种Android应用间动态共享资源的方法及*** | |
CN111026439B (zh) | 应用程序的兼容方法、装置、设备及计算机存储介质 | |
CN112769706B (zh) | 组件化路由方法及*** | |
CN111651219A (zh) | 一种多模块项目配置文件管理的方法及设备 | |
CN110968331A (zh) | 应用程序运行的方法和装置 | |
CN110928548A (zh) | 一种数据处理方法以及设备 | |
CN112506518A (zh) | 基于配置文件的编译方法和装置 | |
KR101117165B1 (ko) | 이기종 운영체제 계층 모듈에서 동작하는 웹기반어플리케이션의 연동이 가능한 모바일 단말기용 웹 플랫폼 유닛 | |
CN113434582B (zh) | 业务数据处理方法、装置、计算机设备和存储介质 | |
CN104765624A (zh) | 虚拟机应用程序的更新处理方法和装置 | |
CN113138768B (zh) | 应用程序包生成方法、装置、电子设备以及可读存储介质 | |
CN113094085A (zh) | 组件集成方法、装置、计算机可读存储介质及电子设备 | |
CN111414154A (zh) | 前端开发的方法、装置、电子设备和存储介质 | |
CN104239112A (zh) | 一种设备驱动程序安装方法及装置 | |
CN111488144A (zh) | 一种数据处理方法以及设备 | |
CN117762434A (zh) | 原生应用打包方法、装置、电子设备及存储介质 | |
CN106778270B (zh) | 一种恶意应用程序的检测方法及*** | |
CN110502251B (zh) | 应用安装方法及装置 | |
CN111488286B (zh) | 一种Android模块独立开发的方法及装置 | |
CN108345461B (zh) | 应用更新方法和装置以及计算机可读存储介质 | |
CN111198721A (zh) | 应用程序运行方法和装置 | |
CN109032684B (zh) | 一种基于安卓***广播插件的实现方法及终端 | |
CN106502754B (zh) | Activity组件加载方法及装置 |
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 |