CN109739524A - 一种软件安装包的生成方法、装置、电子设备及存储介质 - Google Patents
一种软件安装包的生成方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN109739524A CN109739524A CN201910019094.XA CN201910019094A CN109739524A CN 109739524 A CN109739524 A CN 109739524A CN 201910019094 A CN201910019094 A CN 201910019094A CN 109739524 A CN109739524 A CN 109739524A
- Authority
- CN
- China
- Prior art keywords
- annotation
- target
- identifier
- program
- comment field
- 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.)
- Granted
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本公开实施例公开了一种软件安装包的生成方法、装置、设备及存储介质,该方法包括:获取待打包的代码文件,所述代码文件中包括:与至少两种适用对象匹配的程序代码段,与不同适用对象对应的程序代码段通过注释区域内至少一种注释标识符区分;使用注释识别程序对所述代码文件中的注释区域进行读取;获取所述代码文件中与目标适用对象对应的目标程序代码段;对所述目标程序代码段进行打包处理,得到与所述目标适用对象匹配的软件安装包。本公开实施例提供的技术方案,将适用不同对象的程序代码段根据注释标识符区分,并生成适用对象不同的软件安装包,减少了软件安装包中无用程序的代码量,大大降低了软件安装包的大小。
Description
技术领域
本公开实施例涉及软件开发领域,尤其涉及一种软件安装包的生成方法、装置、电子设备及存储介质。
背景技术
随着计算机科学的飞速发展,软件安装包因其包括了软件安装的大量文件以及便捷的解压缩功能,因而被广泛应用于程序设计中,从航空航天技术到日常生活的各种应用软件,方方面面都离不开软件安装包的生成技术。
现有技术中,程序员使用不同的开发工具根据不同的编程语言进行代码编辑,而编辑好的待打包的代码文件,包括了适用不同对象的多个程序段,针对不同的需求可以打包生成不同版本的软件安装包,例如:一款软件分为功能相同国外版和国内版,分别针对国内用户和国外用户使用;两个软件安装包在代码层面是同一个代码文件,包括了国内版和国外版需要的所有程序代码段,打包输出成软件安装包时,生成的国内版软件安装包和国外版软件安装包都包括了代码文件中所有程序代码段。在具体执行时,根据执行指令不同,分别执行不同的程序代码段,例如,输入一个ID或者输入一个请求链接,用一个传入标识来表示,如果是国内版接收后执行A段程序代码段,如果是国外版接收后执行B段程序代码段。
发明人在实现本公开的过程中,发现现有技术有如下缺陷:现有技术中将所有程序代码段都打包进软件安装包中,例如上述国内版软件安装包也包括了国外版软件安装包的执行程序代码段,而这一程序代码段对于国内版软件来说是无用的,同时,也大大增加了软件安装包的大小,给用户的下载和安装都带来了不便。
发明内容
本公开实施例提供了一种软件安装包的生成方法、装置、电子设备及存储介质,根据注释标识符区分不同的程序代码段,并生成适用不同对象的软件安装包,减小了软件安装包的大小。
第一方面,本公开实施例提供了一种软件安装包的生成方法,包括:
获取待打包的代码文件,所述代码文件中包括:与至少两种适用对象匹配的程序代码段,与不同适用对象对应的程序代码段通过注释区域内的至少一种注释标识符区分;
使用注释识别程序对所述代码文件中的注释区域进行读取;
根据对所述注释区域内至少一种注释标识符的读取结果,获取所述代码文件中与目标适用对象对应的目标程序代码段;
对所述目标程序代码段进行打包处理,得到与所述目标适用对象匹配的软件安装包。
第二方面,本公开实施例提供了一种软件安装包的生成装置,包括:
代码文件获取模块,用于获取待打包的代码文件;所述代码文件中包括:与至少两种适用对象匹配的程序代码段,与不同适用对象对应的程序代码段通过注释区域内的至少一种注释标识符区分;
注释区域读取模块,用于使用注释识别程序对所述代码文件中的注释区域进行读取;
目标程序代码段获取模块,用于根据对所述注释区域内至少一种注释标识符的读取结果,获取所述代码文件中与目标适用对象对应的目标程序代码段;
软件安装包生成模块,用于对所述目标程序代码段进行打包处理,得到与所述目标适用对象匹配的软件安装包。
第三方面,本公开实施例提供了一种电子设备,包括存储器、处理装置及存储在存储器上并可在处理装置上运行的计算机程序,所述处理装置执行所述程序时实现本公开任意实施例所述的软件安装包的生成方法。
第四方面,本公开实施例提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行本公开任意实施例所述的软件安装包的生成方法。
本公开实施例提供的技术方案,根据注释标识符区分适用不同对象的程序代码段,并通过注释识别程序获取与目标适用对象对应的目标程序代码段,最终打包生成与目标适用对象匹配的软件安装包。最终生成的软件安装包,减少了其中无用程序的代码量,大大降低了软件安装包的大小,给用户的下载和安装都带来了方便,提高了用户体验。
附图说明
图1是本公开实施例一中的一种软件安装包的生成方法的流程图;
图2是本公开实施例二中的一种软件安装包的生成方法的流程图;
图3是本公开实施例三中的一种软件安装包的生成方法的流程图;
图4是本公开实施例四中的一种软件安装包的生成方法的流程图;
图5是本公开实施例五中的一种软件安装包的生成装置的结构图;
图6是本公开实时例六中的一种软件安装包的生成设备的结构图。
具体实施方式
下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本公开,而非对本公开的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本公开相关的部分而非全部结构。
实施例一
图1为本公开实施例一提供的软件安装包的生成方法的流程图,本实施例可适用于生成软件安装包的情况,该方法可以由软件安装包的生成装置来执行,该装置可以通过软件和/或硬件实现,并一般可以集成在对一个或者多个设备中的软件安装包的生成设备中,该方法具体包括如下步骤:
S110、获取待打包的代码文件,所述代码文件中包括:与至少两种适用对象匹配的程序代码段,与不同适用对象对应的程序代码段通过注释区域内的至少一种注释标识符区分。
代码是程序员用开发工具所支持的编写语言编写出来的源文件,是一组由字符、符号或信号码元以离散形式表示信息的明确的规则体系。代码最为常用的格式是exe格式的文本文件,而代码文件产生的目的也是为了编译出计算机程序,最终将人可读文本翻译成为计算机可执行的二进制指令。
在本公开实施例中,对程序员使用的开发工具不作具体限定。
在本公开实施例中,可选的,代码文件的编写语言为C#、Basic、Pascal、C语言、C++、JAVA、AAuto、易语言以及SQL中的至少一种语言编写的代码文件。
在本公开实施例中,获取到的待打包代码文件中,代码文件包括与至少两种适用对象匹配的程序代码段,例如:一个代码文件可以用于生成两个功能相同的软件安装包,分别为国外版软件安装包和国内版软件安装包,适用对象分别为国内用户和国外用户。
注释是对程序代码的解释和说明,给一个语句、程序段或函数等的解释或提示,其目的是让人们能够更加轻松地了解程序代码和设计思路,提高程序代码的可读性。同时,注释也是一个标记,能及时有效的对程序代码进行维护和修改,每种编程语言的注释区域和注释方法不同。其中,注释区域中的注释内容不会影响整个代码文件的正常执行。
在本实施例中,发明人通过在上述注释区域中加入用于区分不同适用对象的注释标识符,实现在不影响代码文件实际功能的同时,对一个代码文件中的不同适用对象的程序代码段进行区分。
相应的,所述注释标识符为注释区域内,用于区分适用的不同对象的标识符,可选的,程序代码段的每一行程序代码后边的注释区域内都包括至少一种注释标识;还可以在程序代码段的注释区域内包括注释开始标识和注释结束标识,注释开始标识与注释结束标识之间的所有程序代码段作为一个目标程序代码段,例如,在程序代码的第10行的注释区域内包括注释开始标识,在程序代码的第15行的注释区域内包括注释结束标识。
可选的,注释标识符可以由数字、字母和符号中的至少两种组成。
在本公开实施例中,与不同适用对象对应的程序代码段通过注释区域内的至少一种注释标识符区分,例如:与上述国内版软件安装包对应的程序代码段中,其注释区域内包括注释标识符GNB_XX;与上述国外版软件安装包对应的程序代码段中,其注释区域内包括注释标识符GWB_XX;或者,与上述国内版软件安装包对应的程序代码段中,其注释区域内包括注释标识符GNB_XX,与上述国外版软件安装包对应的程序代码段中,其注释区域内不包括任何注释标识符。
S120、使用注释识别程序对所述代码文件中的注释区域进行读取。
注释识别程序,用于对代码文件中的注释区域进行读取。
在本公开实施例中,可选的,通过Python语言编写注释识别程序对代码文件的注释区域进行读取。
Python是一种动态的、面向对象的计算机程序设计语言,其易于读写,易于维护,用户不需要花费过多精力在程序语言、语法上。同时,作为一个免费开源的编写语言,Python兼容众多平台,所以不会遇到使用其他语言时常会遇到的不兼容问题。Python可以适用几乎所有领域,像网站开发、桌面应用开发,自动化脚本,复杂计算系统,科学计算,生命支持管理系统,物联网,游戏,机器人,自然语言处理等很多方面。
S130、根据对所述注释区域内至少一种注释标识符的读取结果,获取所述代码文件中与目标适用对象对应的目标程序代码段。
在本公开实施例中,可选的,若在程序代码段的每一行程序代码后边的注释区域内都包括至少一种注释标识时,则获取与目标注释标识符匹配的每一行程序代码作为目标程序代码段;若在所述注释区域内识别出与所述目标适用对象对应的目标注释标识符中的注释开始标识时,在所述代码文件中,获取与所述注释开始标识对应的第一代码位置;且在所述注释区域内识别出与所述目标注释标识符中的注释结束标识时,在所述代码文件中,获取与所述注释结束标识对应的第二代码位置;则将所述代码文件中位于所述第一代码位置与所述第二代码位置之间的程序代码段作为所述目标程序代码段。例如:在程序代码的第10行的注释区域内包括注释开始标识,第15行的注释区域内包括注释结束标识,第18行的注释区域内包括注释开始标识,第21行的注释区域内包括注释结束标识。那么从第10行到第15行,这6行程序代码作为目标适用对象的一个目标程序代码段,从第18行到第21行,这4段程序代码作为目标适用对象的另一个目标程序代码段。
S140、对所述目标程序代码段进行打包处理,得到与所述目标适用对象匹配的软件安装包。
在本公开实施例中,对软件安装包的类型,不作具体限定。
可选的,采用与预设的目标运行环境匹配的打包工具对所述目标程序代码段进行打包处理,得到运行于所述目标运行环境下的,与所述目标适用对象匹配的软件安装包。
对所述目标程序代码段进行打包处理,得到了与所述目标适用对象匹配的软件安装包,此时获得的软件安装包包括了与适用对象匹配的所有程序代码段,不包括无用的程序代码,在保证具备与适用对象匹配的所有功能的前提下,又减小了软件安装包的大小。
本公开实施例提供的技术方案,根据注释标识符区分适用不同对象的程序代码段,并通过注释识别程序获取与目标适用对象对应的目标程序代码段,最终打包生成与目标适用对象匹配的软件安装包。而最终生成的软件安装包,减少了其中无用程序的代码量,大大降低了软件安装包的大小,给用户的下载和安装都带来了方便,提高了用户体验。
实施例二
图2为本公开实施例二中的一种软件安装包的生成方法的流程图,本实施例以上述实施例为基础进行具体化,在本实施例中,在代码文件的注释区域内,与不同适用对象分别单独匹配的程序代码段使用不同的个性注释标识符标注,与全部适用对象均匹配的程序代码段使用标准注释标识符标注。相应的,本实施例的方法具体包括如下操作:
S210、获取待打包的代码文件,在所述代码文件的注释区域内,与不同适用对象分别单独匹配的程序代码段使用不同的个性注释标识符标注,与全部适用对象均匹配的程序代码段使用标准注释标识符标注。
获取到的待打包代码文件中,与不同适用对象分别单独匹配的程序代码段使用不同的个性注释标识符标注,与全部适用对象均匹配的程序代码段使用标准注释标识符标注。例如:只适用于国内版软件安装包的程序代码段使用个性注释标识符GNB_XX;只适用于国外版软件安装包的程序代码段使用个性注释标识符GWB_XX;与全部适用对象均匹配的程序代码段使用标准注释标识符标注STD_XX。
S220、使用注释识别程序对所述代码文件中的注释区域进行读取。
S230、获取与目标适用对象对应的目标个性注释标识符和/或标准注释标识符。
获取与目标适用对象对应的目标个性注释标识符和/或标准注释标识符;若目标适用对象不包含对应的个性注释标识符,则只获取标准注释标识符,例如:目标适用对象为标准版软件安装包,则获取标准注释标识符标注STD_XX;若目标适用对象包含对应的个性注释标识符,则获取与目标适用对象对应的目标个性注释标识符和标准注释标识符,例如:目标适用对象为国内版软件安装包包,则获取个性注释标识符GNB_XX和标准注释标识符标注STD_XX。
S240、依次获取所述代码文件中与目标个性注释标识符和/或标准注释标识符对应的程序代码段,作为所述目标程序代码段。
S250、对所述目标程序代码段进行打包处理,得到与所述目标适用对象匹配的软件安装包。
本公开实施例提供的技术方案,根据个性注释标识符和标准注释标识符可以将所有程序代码段都进行标注,避免了遗漏程序代码段,造成注释识别程序获取的程序代码段不完整,防止最终生成的软件安装包功能缺失,甚至不能正常运行。
实施例三
图3为本公开实施例三中的一种软件安装包的生成方法的流程图,本实施例以上述实施例为基础进行具体化,在本实施例中,在代码文件的注释区域内,与不同适用对象分别单独匹配的程序代码段使用不同的个性注释标识符标注,与全部适用对象均匹配的程序代码段不进行注释标识符的标注。相应的,本实施例的方法具体包括如下操作:
S310、获取待打包的代码文件,在所述代码文件的注释区域内,与不同适用对象分别单独匹配的程序代码段使用不同的个性注释标识符标注,与全部适用对象均匹配的程序代码段不进行注释标识符的标注。
获取到的待打包代码文件中,与不同适用对象分别单独匹配的程序代码段使用不同的个性注释标识符标注,与全部适用对象均匹配的程序代码段不进行注释标识符的标注。例如:只适用于国内版软件安装包的程序代码段使用个性注释标识符GNB_XX;只适用于国外版软件安装包的程序代码段使用个性注释标识符CWB_XX;与全部适用对象均匹配的程序代码段不使用注释标识符标注。
S320、使用注释识别程序对所述代码文件中的注释区域进行读取。
S330、获取与目标适用对象对应的目标个性注释标识符和/或不包括任意个性注释标识符的注释区域。
S340、依次获取所述代码文件中与目标个性注释标识符对应的程序代码段,和/或不包括任意个性注释标识符的注释区域对应的程序代码段,作为所述目标程序代码段。
依次获取所述代码文件中与目标个性注释标识符对应的程序代码段,和/或不包括任意个性注释标识符程序代码段;若目标适用对象不包含对应的个性注释标识符,则只获取不包括任意个性注释标识符程序代码段,例如:目标适用对象为上述标准版软件安装包,则获取不包括任意个性注释标识符程序代码段,作为目标程序代码段;若目标适用对象包含对应的个性注释标识符,则获取与目标适用对象对应的目标个性注释标识符和标准注释标识符,例如:目标适用对象为国内版软件安装包,则获取个性注释标识符CHN_XX标注的程序代码段和不包括任意个性注释标识符程序代码段,作为目标程序代码段。
S350、对所述目标程序代码段进行打包处理,得到与所述目标适用对象匹配的软件安装包。
本公开实施例提供的技术方案,只用个性注释标识符标注适用不同对象的程序代码段,与全部适用对象均匹配的程序代码段不需要进行注释标识符的标注,减少了代码编辑时对程序代码段的标注工作,提高了代码编辑效率。
实施例四
图4为本公开实施例四中的一种软件安装包的生成方法的流程图,本实施例以上述实施例为基础进行具体化,在本实施例中,在代码文件的注释区域内,与不同适用对象分别单独匹配的程序代码段使用不同的个性注释标识符标注;与至少两个适用对象共同匹配的程序代码段,使用匹配的至少两个适用对象的个性注释标识符标注共同进行标注。相应的,本实施例的方法具体包括如下操作:
S410、获取待打包的代码文件,在所述代码文件的注释区域内,与不同适用对象分别单独匹配的程序代码段使用不同的个性注释标识符标注;与至少两个适用对象共同匹配的程序代码段,使用匹配的至少两个适用对象的个性注释标识符标注共同进行标注。
获取到的待打包代码文件中,与不同适用对象分别单独匹配的程序代码段使用不同的个性注释标识符标注;与至少两个适用对象共同匹配的程序代码段,使用匹配的至少两个适用对象的个性注释标识符标注共同进行标注。例如:只适用于国内版软件安装包的程序代码段使用个性注释标识符GNB_XX;只适用于国外版软件安装包的程序代码段使用个性注释标识符CWB_XX;与国内版和国外版均匹配的程序代码段同时使用个性注释标识符GNB_XX和GWB_XX标注。
S420、使用注释识别程序对所述代码文件中的注释区域进行读取。
S430、获取与目标适用对象对应的目标个性注释标识符。
S440、依次获取所述代码文件中,注释区域内包括所述目标个性注释标识符的程序代码段,作为所述目标程序代码段。
S450、对所述目标程序代码段进行打包处理,得到与所述目标适用对象匹配的软件安装包。
本公开实施例提供的技术方案,与不同适用对象单独匹配的程序代码段使用不同的个性注释标识符标注,而共同匹配的程序代码段,将匹配的个性注释标识符共同进行标注,这样的标注方法,在保证每个适用对象都有对应的个性注释标识符标注的前提下,没有增加任何共用注释标注符,减少了注释标记符的种类,同时,在注释识别程序进行读取时,可以直接检测到所有相关的注释标记符,便于对应程序代码段的获取,提高了读取效率。
实施例五
图5是本公开实施例五所提供的一种软件安装包的生成装置可执行本公开任意实施例所提供的软件安装包的生成方法,具备执行方法相应的功能模块和有益效果。该装置可以由软件和/或硬件实现,包括:代码文件获取模块510、注释区域读取模块520、目标程序代码段获取模块530和软件安装包生成模块540。
代码文件获取模块510,用于获取待打包的代码文件;所述代码文件中包括:与至少两种适用对象匹配的程序代码段,与不同适用对象对应的程序代码段通过注释区域内的至少一种注释标识符区分;
注释区域读取模块520,用于使用注释识别程序对所述代码文件中的注释区域进行读取;
目标程序代码段获取模块530,用于根据对所述注释区域内至少一种注释标识符的读取结果,获取所述代码文件中与目标适用对象对应的目标程序代码段;
软件安装包生成模块540,用于对所述目标程序代码段进行打包处理,得到与所述目标适用对象匹配的软件安装包。
本公开实施例提供的技术方案,根据注释标识符区分适用不同对象的程序代码段,并通过注释识别程序获取与目标适用对象对应的目标程序代码段,最终打包生成与目标适用对象匹配的软件安装包。而最终生成的软件安装包,减少了其中无用程序的代码量,大大降低了软件安装包的大小,给用户的下载和安装都带来了不便,提高了用户体验。
在上述各实施例的基础上,代码文件获取模块510,具体可以用于:
获取待打包的代码文件,在所述代码文件的注释区域内,与不同适用对象分别单独匹配的程序代码段使用不同的个性注释标识符标注,与全部适用对象均匹配的程序代码段使用标准注释标识符标注;
在上述各实施例的基础上,目标程序代码段获取模块530,包括:
第一注释标识获取单元,用于获取与目标适用对象对应的目标个性注释标识符和/或标准注释标识符;
第一目标代码获取单元,用于依次获取所述代码文件中与目标个性注释标识符和/或标准注释标识符对应的程序代码段,作为所述目标程序代码段。
在上述各实施例的基础上,代码文件获取模块510,具体还可以用于:
获取待打包的代码文件,在所述代码文件的注释区域内,与不同适用对象分别单独匹配的程序代码段使用不同的个性注释标识符标注,与全部适用对象均匹配的程序代码段不进行注释标识符的标注;
在上述各实施例的基础上,目标程序代码段获取模块530,还包括:
第二注释标识获取单元,用于获取与目标适用对象对应的目标个性注释标识符和/或不包括任意个性注释标识符的注释区域;
第二目标代码获取单元,用于依次获取所述代码文件中与目标个性注释标识符对应的程序代码段,和/或不包括任意个性注释标识符的注释区域对应的程序代码段,作为所述目标程序代码段。
在上述各实施例的基础上,代码文件获取模块510,具体还可以用于:
获取待打包的代码文件,在所述代码文件的注释区域内,与不同适用对象分别单独匹配的程序代码段使用不同的个性注释标识符标注;与至少两个适用对象共同匹配的程序代码段,使用匹配的至少两个适用对象的个性注释标识符标注共同进行标注。
在上述各实施例的基础上,目标程序代码段获取模块530,还包括:
第三注释标识获取单元,用于获取与目标适用对象对应的目标个性注释标识符;
第三目标代码获取单元,用于依次获取所述代码文件中,注释区域内包括所述目标个性注释标识符的程序代码段,作为所述目标程序代码段。
在上述各实施例的基础上,代码文件获取模块510,具体还可以用于:
获取待打包的代码文件,所述代码文件的注释区域内的注释标识符包括:注释开始标识以及注释结束标识。
在上述各实施例的基础上,目标程序代码段获取模块530,还包括:
第一代码位置获取单元,用于在所述注释区域内识别出与所述目标适用对象对应的目标注释标识符中的注释开始标识时,在所述代码文件中,获取与所述注释开始标识对应的第一代码位置;
第二代码位置获取单元,用于在所述注释区域内识别出与所述目标注释标识符中的注释结束标识时,在所述代码文件中,获取与所述注释结束标识对应的第二代码位置;
第四目标代码获取单元,用于将所述代码文件中位于所述第一代码位置与所述第二代码位置之间的程序代码段作为所述目标程序代码段。
在上述各实施例的基础上,软件安装包生成模块540,具体可以用于:
采用与预设的目标运行环境匹配的打包工具对所述目标程序代码段进行打包处理,得到运行于所述目标运行环境下的,与所述目标适用对象匹配的软件安装包。
在上述各实施例的基础上,注释区域读取模块520,具体可以用于:
通过Python语言编写的注释识别程序对所述代码文件中的注释区域进行读取。
上述装置可执行本公开任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本公开任意实施例提供的方法。
实施例六
图6示出了适于用来实现本公开实施例的电子设备600的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图6示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,电子设备600可以包括处理装置(例如中央处理器、图形处理器等)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储装置608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有电子设备600操作所需的各种程序和数据。处理装置601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
通常,以下装置可以连接至I/O接口605:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置606;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置607;包括例如磁带、硬盘等的存储装置608;以及通信装置609。通信装置609可以允许电子设备600与其他设备进行无线或有线通信以交换数据。虽然图6示出了具有各种装置的电子设备600,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文各流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置608被安装,或者从ROM 602被安装。在该计算机程序被处理装置601执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开的实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取待打包的代码文件,所述代码文件中包括:与至少两种适用对象匹配的程序代码段,与不同适用对象对应的程序代码段通过注释区域内的至少一种注释标识符区分;使用注释识别程序对所述代码文件中的注释区域进行读取;根据对所述注释区域内至少一种注释标识符的读取结果,获取所述代码文件中与目标适用对象对应的目标程序代码段;对所述目标程序代码段进行打包处理,得到与所述目标适用对象匹配的软件安装包。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一注释标识获取单元还可以被描述为“获取与目标适用对象对应的目标个性注释标识符和/或标准注释标识符的单元”。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开的实施例中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开的实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
1.一种软件安装包的生成方法,其特征在于,包括:
获取待打包的代码文件,所述代码文件中包括:与至少两种适用对象匹配的程序代码段,与不同适用对象对应的程序代码段通过注释区域内的至少一种注释标识符区分;
使用注释识别程序对所述代码文件中的注释区域进行读取;
根据对所述注释区域内至少一种注释标识符的读取结果,获取所述代码文件中与目标适用对象对应的目标程序代码段;
对所述目标程序代码段进行打包处理,得到与所述目标适用对象匹配的软件安装包。
2.根据权利要求1所述的方法,其特征在于:
在所述代码文件的注释区域内,与不同适用对象分别单独匹配的程序代码段使用不同的个性注释标识符标注,与全部适用对象均匹配的程序代码段使用标准注释标识符标注;
根据对所述注释区域内至少一种注释标识符的读取结果,获取所述代码文件中与目标适用对象对应的目标程序代码段,包括:
获取与目标适用对象对应的目标个性注释标识符和/或标准注释标识符;
依次获取所述代码文件中与目标个性注释标识符和/或标准注释标识符对应的程序代码段,作为所述目标程序代码段。
3.根据权利要求1所述的方法,其特征在于:
在所述代码文件的注释区域内,与不同适用对象分别单独匹配的程序代码段使用不同的个性注释标识符标注,与全部适用对象均匹配的程序代码段不进行注释标识符的标注;
根据对所述注释区域内至少一种注释标识符的读取结果,获取所述代码文件中与目标适用对象对应的目标程序代码段,包括:
获取与目标适用对象对应的目标个性注释标识符和/或不包括任意个性注释标识符的注释区域;
依次获取所述代码文件中与目标个性注释标识符对应的程序代码段,和/或不包括任意个性注释标识符的注释区域对应的程序代码段,作为所述目标程序代码段。
4.根据权利要求1所述的方法,其特征在于:
在所述代码文件的注释区域内,与不同适用对象分别单独匹配的程序代码段使用不同的个性注释标识符标注;与至少两个适用对象共同匹配的程序代码段,使用匹配的至少两个适用对象的个性注释标识符标注共同进行标注;
根据对所述注释区域内至少一种注释标识符的读取结果,获取所述代码文件中与目标适用对象对应的目标程序代码段,包括:
获取与目标适用对象对应的目标个性注释标识符;
依次获取所述代码文件中,注释区域内包括所述目标个性注释标识符的程序代码段,作为所述目标程序代码段。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述代码文件的注释区域内的注释标识符包括:注释开始标识以及注释结束标识;
根据对所述注释区域内至少一种注释标识符的读取结果,获取所述代码文件中与目标适用对象对应的目标程序代码段,进一步包括:
在所述注释区域内识别出与所述目标适用对象对应的目标注释标识符中的注释开始标识时,在所述代码文件中,获取与所述注释开始标识对应的第一代码位置;
在所述注释区域内识别出与所述目标注释标识符中的注释结束标识时,在所述代码文件中,获取与所述注释结束标识对应的第二代码位置;
将所述代码文件中位于所述第一代码位置与所述第二代码位置之间的程序代码段作为所述目标程序代码段。
6.根据权利要求1所述的方法,其特征在于,对所述目标程序代码段进行打包处理,得到与所述目标适用对象匹配的软件安装包,包括:
采用与预设的目标运行环境匹配的打包工具对所述目标程序代码段进行打包处理,得到运行于所述目标运行环境下的,与所述目标适用对象匹配的软件安装包。
7.根据权利要求1所述的方法,其特征在于,所述注释识别程序包括:通过Python语言编写的注释识别程序。
8.一种软件安装包的生成装置,其特征在于,包括:
代码文件获取模块,用于获取待打包的代码文件;所述代码文件中包括:与至少两种适用对象匹配的程序代码段,与不同适用对象对应的程序代码段通过注释区域内的至少一种注释标识符区分;
注释区域读取模块,用于使用注释识别程序对所述代码文件中的注释区域进行读取;
目标程序代码段获取模块,用于根据对所述注释区域内至少一种注释标识符的读取结果,获取所述代码文件中与目标适用对象对应的目标程序代码段;
软件安装包生成模块,用于对所述目标程序代码段进行打包处理,得到与所述目标适用对象匹配的软件安装包。
9.一种电子设备,包括存储器、处理装置及存储在存储器上并可在处理装置上运行的计算机程序,其特征在于,所述处理装置执行所述程序时实现如权利要求1-7中任一所述的软件安装包的生成方法。
10.一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-7中任一所述的软件安装包的生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910019094.XA CN109739524B (zh) | 2019-01-09 | 2019-01-09 | 一种软件安装包的生成方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910019094.XA CN109739524B (zh) | 2019-01-09 | 2019-01-09 | 一种软件安装包的生成方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109739524A true CN109739524A (zh) | 2019-05-10 |
CN109739524B CN109739524B (zh) | 2022-04-15 |
Family
ID=66364061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910019094.XA Active CN109739524B (zh) | 2019-01-09 | 2019-01-09 | 一种软件安装包的生成方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109739524B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112199097A (zh) * | 2020-10-13 | 2021-01-08 | 深圳市广和通无线股份有限公司 | 安装包生成方法、装置、计算机设备和存储介质 |
CN112416426A (zh) * | 2020-11-30 | 2021-02-26 | 北京有竹居网络技术有限公司 | 应用程序的功能发布方法、装置、设备及存储介质 |
CN113722754A (zh) * | 2021-08-25 | 2021-11-30 | 上海阵方科技有限公司 | 隐私可执行文件的生成方法、装置和服务器 |
US11762676B2 (en) | 2021-07-30 | 2023-09-19 | Uipath Inc | Optimized software delivery to airgapped robotic process automation (RPA) hosts |
CN117539538A (zh) * | 2023-11-16 | 2024-02-09 | 南京数睿数据科技有限公司 | 程序说明文档生成方法、装置、电子设备和可读介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060129972A1 (en) * | 2004-11-30 | 2006-06-15 | Tyburski John C | Application developer and method for generating platform independent code |
CN102279749A (zh) * | 2011-08-30 | 2011-12-14 | 大唐移动通信设备有限公司 | 一种代码归并方法和设备 |
CN107678750A (zh) * | 2017-10-27 | 2018-02-09 | 北京腾云天下科技有限公司 | 一种sdk打包方法、计算设备及sdk打包系统 |
CN108304175A (zh) * | 2018-01-29 | 2018-07-20 | 口碑(上海)信息技术有限公司 | 代码文件隔离打包方法及装置 |
CN108459873A (zh) * | 2018-03-05 | 2018-08-28 | 中国人民解放军国防科技大学 | 一种提高开源代码注释率及注释质量的方法 |
-
2019
- 2019-01-09 CN CN201910019094.XA patent/CN109739524B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060129972A1 (en) * | 2004-11-30 | 2006-06-15 | Tyburski John C | Application developer and method for generating platform independent code |
CN102279749A (zh) * | 2011-08-30 | 2011-12-14 | 大唐移动通信设备有限公司 | 一种代码归并方法和设备 |
CN107678750A (zh) * | 2017-10-27 | 2018-02-09 | 北京腾云天下科技有限公司 | 一种sdk打包方法、计算设备及sdk打包系统 |
CN108304175A (zh) * | 2018-01-29 | 2018-07-20 | 口碑(上海)信息技术有限公司 | 代码文件隔离打包方法及装置 |
CN108459873A (zh) * | 2018-03-05 | 2018-08-28 | 中国人民解放军国防科技大学 | 一种提高开源代码注释率及注释质量的方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112199097A (zh) * | 2020-10-13 | 2021-01-08 | 深圳市广和通无线股份有限公司 | 安装包生成方法、装置、计算机设备和存储介质 |
CN112199097B (zh) * | 2020-10-13 | 2024-01-05 | 深圳市广和通无线股份有限公司 | 安装包生成方法、装置、计算机设备和存储介质 |
CN112416426A (zh) * | 2020-11-30 | 2021-02-26 | 北京有竹居网络技术有限公司 | 应用程序的功能发布方法、装置、设备及存储介质 |
US11762676B2 (en) | 2021-07-30 | 2023-09-19 | Uipath Inc | Optimized software delivery to airgapped robotic process automation (RPA) hosts |
CN113722754A (zh) * | 2021-08-25 | 2021-11-30 | 上海阵方科技有限公司 | 隐私可执行文件的生成方法、装置和服务器 |
CN117539538A (zh) * | 2023-11-16 | 2024-02-09 | 南京数睿数据科技有限公司 | 程序说明文档生成方法、装置、电子设备和可读介质 |
CN117539538B (zh) * | 2023-11-16 | 2024-05-17 | 南京数睿数据科技有限公司 | 程序说明文档生成方法、装置、电子设备和可读介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109739524B (zh) | 2022-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109739524A (zh) | 一种软件安装包的生成方法、装置、电子设备及存储介质 | |
CN110377289A (zh) | 一种数据解析方法、装置、介质和电子设备 | |
CN109753968A (zh) | 字符识别模型的生成方法、装置、设备及介质 | |
CN112256275B (zh) | 代码混淆方法、装置、电子设备及介质 | |
CN109947431B (zh) | 一种代码生成方法、装置、设备及存储介质 | |
CN110069308A (zh) | 页面启动方法、装置、电子设备和存储介质 | |
CN109062560B (zh) | 用于生成信息的方法和装置 | |
CN109491742A (zh) | 页面表格渲染方法及装置 | |
CN109726217A (zh) | 一种数据库操作方法、装置、设备及存储介质 | |
CN112306447A (zh) | 一种界面导航方法、装置、终端和存储介质 | |
CN113391811B (zh) | 函数编译方法、装置、电子设备及计算机可读存储介质 | |
CN113238737A (zh) | 页面打包方法、装置、电子设备及存储介质 | |
CN111124541B (zh) | 一种配置文件的生成方法、装置、设备及介质 | |
CN110263004A (zh) | 日志记录方法、装置、电子设备和存储介质 | |
CN109815455A (zh) | 项目文件处理方法和装置 | |
CN111796865B (zh) | 一种字节码文件修改方法、装置、终端设备及介质 | |
CN111399902B (zh) | 客户端源文件处理方法、装置、可读介质与电子设备 | |
CN116263690A (zh) | 虚拟机从外部系统读取数据及相关写出数据的方法和装置 | |
CN110209591A (zh) | 图片查找方法、装置、电子设备及存储介质 | |
CN110489386A (zh) | 信息处理方法、装置、存储介质及电子设备 | |
CN111562913B (zh) | 视图组件的预创建方法、装置、设备及计算机可读介质 | |
CN112270170B (zh) | 一种隐式表述语句的分析方法、装置、介质和电子设备 | |
CN117075912B (zh) | 用于程序语言转换的方法、编译方法及相关设备 | |
CN111209225B (zh) | 获取实际地址的方法、装置、介质和电子设备 | |
CN113032003B (zh) | 开发文件导出方法、装置、电子设备及计算机存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |