应用打包方法及相关设备技术

技术编号:36920602 阅读:23 留言:0更新日期:2023-03-22 18:44
本申请提供一种应用打包方法及相关设备,所述方法包括:获取应用的源文件;判断源文件的每个代码块是否包含特殊编译标记;若代码块包含特殊编译标记,根据代码块中的表达式,从代码块中获取运行设备对应的布局信息;根据运行设备对应的布局信息对源文件进行编译和打包,得到运行设备对应的安装包。本申请可以使用同一源文件生成不同运行设备对应的安装包,提高应用打包的效率。提高应用打包的效率。提高应用打包的效率。

【技术实现步骤摘要】
应用打包方法及相关设备


[0001]本申请涉及计算机软件领域,尤其涉及一种应用打包方法及相关设备。

技术介绍

[0002]为了让应用运行在不同的设备(例如手机、平板、手表、大屏等)上,目前一般针对一种运行设备编写一套源代码,对于不同的运行设备采用不同的源文件进行编译和打包。针对一种运行设备编写一套源代码进行编译和打包的应用打包技术效率低下,增加了开发者的开发工作量。

技术实现思路

[0003]本申请实施例提供了一种应用打包方法及相关设备,能够使用同一源文件生成分别运行在不同设备上的安装包,提高应用打包的效率。
[0004]本申请第一方面提供了一种应用打包方法,所述方法包括:获取应用的源文件;判断所述源文件的每个代码块是否包含特殊编译标记;若所述代码块包含特殊编译标记,根据所述代码块中的表达式,从所述代码块中获取所述应用的运行设备对应的布局信息;根据所述布局信息对所述源文件进行编译和打包,得到所述运行设备对应的安装包。
[0005]根据本实施例提供的应用打包方法,可以使用同一源文件/源代码生成不同运行设备对应的安装包,提高应用打包的效率。
[0006]在一些可选的实施方式中,所述源文件包括:页面布局文件、逻辑控制文件和/或样式文件。
[0007]在一些可选的实施方式中,所述判断所述源文件的每个代码块是否包含特殊编译标记包括:判断所述源文件的每个属性和/或样式是否包含特殊编译标记;和/或判断所述源文件的每个指令是否包含特殊编译标记。
[0008]在一些可选的实施方式中,所述指令包括:if、elif和/或else指令。
[0009]在一些可选的实施方式中,所述根据所述布局信息对所述源文件进行编译和打包包括:针对所述运行设备,根据所述布局信息将所述源文件转换为不包含特殊编译标记的目标源文件;对所述目标源文件进行编译和打包,得到所述运行设备对应的安装包。
[0010]在一些可选的实施方式中,所述根据所述布局信息对所述源文件进行编译和打包包括:若所述代码块包含特殊编译标记,对所述运行设备对应的布局信息进行编译,得到所述运行设备对应的专有对象;若所述代码块不包含特殊编译标记,对所述代码块进行编译,得到公共对象;针对所述运行设备,组合所述公共对象和所述专有对象,得到所述运行设备的编译文件,将所述运行设备的编译文件进行打包,得到所述运行设备的安装包。
[0011]在一些可选的实施方式中,所述判断所述源文件的每个代码块是否包含特殊编译标记包括:将所述源文件转化为抽象语法树,所述抽象语法树的每个节点对应所述源文件的一个代码块;对所述抽象语法树中每个节点进行解析,判断每个节点是否带有所述特殊编译标记。
[0012]在一些可选的实施方式中,所述运行设备包括:手机、平板、手表、大屏和/或车载电脑。
[0013]本申请第二方面提供了一种计算机可读存储介质,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如第一方面所述的应用打包方法。
[0014]本申请第三方面提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器用于存储指令,所述处理器用于调用所述存储器中的指令,使得所述电子设备执行如第一方面所述的应用打包方法。
[0015]本申请第四方面提供了一种芯片系统,该芯片系统应用于电子设备;芯片系统包括接口电路和处理器;接口电路和处理器通过线路互联;接口电路用于从电子设备的存储器接收信号,并向处理器发送信号,信号包括存储器中存储的计算机指令;当处理器执行该计算机指令时,芯片系统执行如第一方面所述的应用打包方法。
[0016]本申请第五方面提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行如第一方面所述的应用打包方法。
[0017]应当理解地,上述提供的第二方面的计算机可读存储介质、第三方面所述的电子设备、第四方面所述的芯片系统、及第五方面所述的计算机程序产品均与上述第一方面的方法对应,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
附图说明
[0018]图1是本申请实施例提供的应用打包方法的应用场景示意图。
[0019]图2是根据本申请实施例提供的应用打包方法,对同一源代码进行编译和打包,生成多个安装包,以适用于不同电子设备的示意图。
[0020]图3是根据本申请实施例提供的应用打包方法,对源代码进行编译的示意图。
[0021]图4是根据本申请实施例提供的应用打包方法,将带有特殊编译标记的代码块转换为不带特殊编译标记的代码块的示意图。
[0022]图5是本申请实施例提供的应用打包方法的流程图。
[0023]图6是根据本申请实施例提供的应用打包方法,将带有特殊编译标记的代码块转换为不带特殊编译标记的代码块的另一示意图。
[0024]图7是本申请另一实施例提供的应用打包方法的流程图。
[0025]图8是根据本申请实施例提供的应用打包方法,对源代码不经过转换直接进行编译的示意图。
[0026]图9是本申请另一实施例提供的应用打包方法的流程图。
[0027]图10是本申请实施例提供的电子设备的硬件结构示意图。
具体实施方式
[0028]为了便于理解,示例性的给出了部分与本申请实施例相关概念的说明以供参考。
[0029]需要说明的是,本申请中“至少一个”是指一个或者多个,“多个”是指两个或多于两个。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。本申请的
说明书和权利要求书及附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不是用于描述特定的顺序或先后次序。
[0030]为了更好地理解本申请实施例提供的应用打包方法及相关设备,下面首先对本申请应用打包方法的应用场景进行描述。
[0031]图1是本申请实施例提供的应用打包方法的应用场景示意图。
[0032]如图1所示,本申请实施例提供的应用打包方法应用于电子设备10。电子设备10包括编译工具101,例如Eclipse、NetBeans。电子设备10通过编译工具101对应用的源文件/源代码进行编译和打包,生成适用于不同运行设备11的多个安装包,每个设备类型对应一个安装包。
[0033]电子设备10可以是个人计算机、服务器等。运行设备11可以包括手机、平板、手表、大屏,还可以是其他设备(例如车载电脑)。在本申请的一个实施例中,源文件为页面显示相关的文件,可以包括页面布局文件、逻辑控制文件、样式文件。根据本实施例提供的应用打包方法,电子设备10可以使用同一源文件/源代码生成不同运行设备对应的安装包,提高了应用打包的效率。
[0034]页面布局文件是用来描述应用界面的文件,用于描述应用界面中各个组件的大小、位置、颜色等页面显示信息。页本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用打包方法,其特征在于,所述方法包括:获取应用的源文件;判断所述源文件的每个代码块是否包含特殊编译标记;若所述代码块包含特殊编译标记,根据所述代码块中的表达式,从所述代码块中获取所述应用的运行设备对应的布局信息;根据所述布局信息对所述源文件进行编译和打包,得到所述运行设备对应的安装包。2.如权利要求1所述的应用打包方法,其特征在于,所述源文件包括:页面布局文件、逻辑控制文件和/或样式文件。3.如权利要求1所述的应用打包方法,其特征在于,所述判断所述源文件的每个代码块是否包含特殊编译标记包括:判断所述源文件的每个属性和/或样式是否包含特殊编译标记;和/或判断所述源文件的每个指令是否包含特殊编译标记。4.如权利要求3所述的应用打包方法,其特征在于,所述指令包括:if、elif和/或else指令。5.如权利要求1所述的应用打包方法,其特征在于,所述根据所述布局信息对所述源文件进行编译和打包包括:针对所述运行设备,根据所述布局信息将所述源文件转换为不包含特殊编译标记的目标源文件;对所述目标源文件进行编译和打包,得到所述运行设备对应的安装包。6.如权利要求1所述的应用打包方法,其特征在于,所述根据所述布局信息对所述源文件进行...

【专利技术属性】
技术研发人员:陈友志童诗佳
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1