CN103294514A - ***软件版本集成方法、编译服务器及*** - Google Patents
***软件版本集成方法、编译服务器及*** Download PDFInfo
- Publication number
- CN103294514A CN103294514A CN2013102603371A CN201310260337A CN103294514A CN 103294514 A CN103294514 A CN 103294514A CN 2013102603371 A CN2013102603371 A CN 2013102603371A CN 201310260337 A CN201310260337 A CN 201310260337A CN 103294514 A CN103294514 A CN 103294514A
- Authority
- CN
- China
- Prior art keywords
- server
- version
- integrated
- apk
- version number
- 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
Images
Landscapes
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开一种***软件版本集成方法、编译服务器及***,其方法包括:编译服务器接收工作平台触发的***软件版本集成执行指令;调用脚本文件,从SVN服务器获取***软件版本集成的当前版本号;根据当前版本号从SVN服务器下载对应的***代码和预置应用apk文件;对***代码和预置应用apk文件进行编译及打包处理,得到OTA升级包;将OTA升级包作为集成后的***软件版本上传至版本发布服务器,由版本发布服务器对外发布,由此,优化android设备软件版本的集成机制,为***空间节省容量资源,降低开发成本和提高开发效率;在简化了android***版本集成步骤的同时,也带来了android***的性能提升。
Description
技术领域
本发明涉及***版本技术领域,尤其涉及一种***软件版本集成方法、编译服务器及***。
背景技术
目前,在android产品开发时,***版本的集成需要手动处理应用预置、***编译、版本管理、打包检查等繁琐的工作,因而时常由于误操作带来各种问题。
现有技术也有针对Android应用开发的版本管理工具,但是主要是对APK(应用程序)进行版本管理,而不同的APK对应不同操作***,因此,使用现有的Android应用开发的版本管理工具之后,开发人员还需在不同的操作***上进行编译才能最终获得更新,其开发成本高,而且开发效率低。
发明内容
本发明的主要目的在于提供一种***软件版本集成方法、编译服务器及***,旨在优化android设备软件版本的集成机制,降低开发成本和提高开发效率。
为了达到上述目的,本发明提出一种***软件版本集成方法,包括:
编译服务器接收工作平台触发的***软件版本集成执行指令;
根据所述执行指令调用所述编译服务器上的脚本文件,从SVN服务器获取***软件版本集成的当前版本号;所述脚本文件中存储有预先定义的需要使用的SVN服务器路径以及OTA升级包上传路径;
根据所述当前版本号从SVN服务器下载当前版本号对应的***代码和预置应用apk文件;
对所述***代码和预置应用apk文件进行编译及打包处理,得到OTA升级包;
将所述OTA升级包作为集成后的***软件版本上传至版本发布服务器。
优选地,所述根据所述执行指令调用脚本文件,从SVN服务器获取***软件版本集成的当前版本号的步骤包括:
根据所述执行指令调用所述脚本文件,检索所述SVN服务器上预置应用apk目录;
解析所述预置应用apk目录中各子目录名,获取版本号列表;
选择所述版本号列表中最大的版本号对应的子目录作为本次集成需要的预置应用apk目录,并将所述最大的版本号作为本次***软件版本集成的当前版本号。
优选地,所述调用脚本文件,从SVN服务器获取***软件版本集成的当前版本号的步骤之后还包括:
判断所述当前版本号的位数和命名与预先规定的版本号是否一致;以及判断当前版本号是否大于上次获得版本号;如果均符合,则判定当前版本号有效;否则,向所述工作平台发送提示信息,由工作平台对当前版本号进行修改,编译服务器再重新获取当前版本号。
优选地,所述根据当前版本号从SVN服务器下载当前版本号对应的***代码和预置应用apk文件的步骤包括:
根据当前版本号,检索所述SVN服务器上的***代码版本更新信息;
根据所述工作平台的选择,调用所述脚本文件从SVN服务器下载当前版本号对应的版本***代码到编译服务器指定***代码目录;
从SVN服务器下载与所述对应的版本***代码匹配的预置应用apk文件到编译服务器上指定预置应用apk目录。
优选地,所述根据当前版本号从SVN服务器下载当前版本号对应的***代码和预置应用apk文件的步骤之后还包括:
进入所述编译服务器上的预置应用apk目录;
从所述预置应用apk目录中提取所有预置应用apk文件中的so文件到另一预设目录中。
优选地,所述对***代码和预置应用apk文件进行编译及打包处理,得到OTA升级包的步骤之后还包括:
对所述OTA升级包进行MD5检测,生成MD文本文件;
所述将OTA升级包作为集成后的***软件版本上传至版本发布服务器的步骤包括:
根据脚本文件中OTA升级包上传路径将所述OTA升级包和所述MD文本文件作为集成后的***软件版本上传至所述版本发布服务器。
本发明还提出一种***软件版本集成编译服务器,包括:
脚本文件获取模块,用于接收工作平台触发的***软件版本集成执行指令;
版本号获取模块,用于根据所述执行指令调用所述编译服务器上的脚本文件,从SVN服务器获取***软件版本集成的当前版本号;所述脚本文件中存储有预先定义的需要使用的SVN服务器路径以及OTA升级包上传路径;
下载模块,用于根据所述当前版本号从SVN服务器下载当前版本号对应的***代码和预置应用apk文件;
编译打包模块,用于对所述***代码和预置应用apk文件进行编译及打包处理,得到OTA升级包;
版本上传模块,用于将所述OTA升级包作为集成后的***软件版本上传至版本发布服务器。
优选地,所述版本号获取模块包括:
目录检索单元,用于根据所述执行指令调用所述脚本文件,检索所述SVN服务器上预置应用apk目录;
解析单元,用于解析所述预置应用apk目录中各子目录名,获取版本号列表;
选择单元,用于选择所述版本号列表中最大的版本号对应的子目录作为本次集成需要的预置应用apk目录,并将所述最大的版本号作为本次***软件版本集成的当前版本号。
优选地,该编译服务器还包括:
检查模块,用于对所述当前版本号进行有效性检查;具体用于判断所述当前版本号的位数和命名与预先规定的版本号是否一致;以及判断当前版本号是否大于上次获得版本号;如果均符合,则判定当前版本号有效;否则,向所述工作平台发送提示信息,由工作平台对当前版本号进行修改,再由版本号获取模块重新获取当前版本号。
优选地,所述下载模块包括:
版本更新检索单元,用于根据当前版本号,检索所述SVN服务器上的***代码版本更新信息;
发送单元,用于将最新的若干个版本变动信息发送给工作平台;
***代码下载单元,用于根据所述工作平台的选择,调用所述脚本文件从SVN服务器下载当前版本号对应的版本***代码到编译服务器指定***代码目录;
预置应用下载单元,用于从SVN服务器下载与所述对应的版本***代码匹配的预置应用apk文件到编译服务器上指定预置应用apk目录。
优选地,该编译服务器还包括:
SO提取模块,用于进入所述编译服务器上的预置应用apk目录;从所述预置应用apk目录中提取所有预置应用apk文件中的so文件到另一预设目录中。
优选地,该编译服务器还包括:
MD5检测模块,用于对所述OTA升级包进行MD5检测,生成MD文本文件;
所述版本上传模块还用于根据脚本文件中OTA升级包上传路径将所述OTA升级包和所述MD文本文件作为集成后的***软件版本上传至所述版本发布服务器。
本发明还提出一种***软件版本集成***,包括:工作平台以及分别与所述工作平台连接的SVN服务器、版本发布服务器以及如上所述的编译服务器,所述编译服务器还分别与所述SVN服务器和版本发布服务器连接,其中:
所述工作平台,用于触发***软件版本集成的执行指令;
所述SVN服务器,用于存储及管理***软件版本集成的版本号、***代码和预置应用apk文件;
所述版本发布服务器,用于接收编译服务器上传的集成后的***软件版本并对外发布。
本发明提出的一种***软件版本集成方法、编译服务器及***,编译服务器根据从工作平台获取的***软件版本集成执行指令调用脚本文件,从SVN服务器获取***软件版本集成的当前版本号;根据所述当前版本号从SVN服务器下载当前版本号对应的***代码和预置应用apk文件;对***代码和预置应用apk文件进行编译及打包处理,得到OTA升级包;将OTA升级包作为集成后的***软件版本上传至版本发布服务器,由版本发布服务器对外发布,由此,通过调用脚本文件的方式,实现了只需一个执行命令,便可一步完成应用预置、SVN***代码下载、***编译、版本自动管理、OTA升级包制作、MD5检测等繁琐的工作,准确生成最终升级包文件并上传到服务器,从而优化android设备软件版本的集成机制,为***空间节省容量资源,降低开发成本和提高开发效率;在简化了android***版本集成步骤的同时,也带来了android***的性能提升。
附图说明
图1是本发明***软件版本集成方法第一实施例的流程示意图;
图2是本发明***软件版本集成方法第二实施例的流程示意图;
图3是本发明***软件版本集成方法第三实施例的流程示意图;
图4是本发明***软件版本集成方法第四实施例的流程示意图;
图5是本发明编译服务器第一实施例的结构示意图;
图6是本发明编译服务器实施例中版本号获取模块的结构示意图;
图7是本发明编译服务器实施例中下载模块的结构示意图;
图8是本发明编译服务器第二实施例的结构示意图;
图9是本发明编译服务器第三实施例的结构示意图;
图10是本发明编译服务器第四实施例的结构示意图;
图11是本发明***软件版本集成***较佳实施例的结构示意图。
为了使本发明的技术方案更加清楚、明了,下面将结合附图作进一步详述。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明第一实施例提出一种***软件版本集成方法,包括:
步骤S101,编译服务器接收工作平台触发的***软件版本集成执行指令;
本实施例方法中***软件版本的集成具体可以是android设备软件版本的集成,也可以为其他操作***设备的软件版本集成,在此以android操作***软件版本举例说明。
该方法运行环境涉及工作平台、SVN服务器、编译服务器、版本发布服务器以及外部客户端等。其中:
工作平台具体可以是PC(个人电脑)、笔记本或其它工作站点。
上述脚本文件中存储有预先定义的需要使用的SVN(版本:Subversion)服务器路径以及OTA升级包上传路径等。该脚本文件由开发人员设计并存储在编译服务器中,开发人员也可以根据需要对该脚本文本进行修改。
SVN服务器负责存放和管理android***代码和预置应用apk(Android安装包:Androidpackage)代码;该android***代码放于SVN版本管理服务器,地址如 http://*/system/;该***代码由开发者每次版本集成前进行修改和更新,由SVN服务器进行版本管理。开发者把本次集成需要预置应用apk文件放于SVN服务器指定的路径(即预置应用apk目录),该路径由每次版本集成的最后一步进行自动创建,且路径名以版本号命名,如 http://*/apk/V***_001/。
编译服务器负责脚本文件的执行,以及***代码及预置应用apk代码的编译,并将编译打包集成后的***软件版本上传至版本发布服务器;版本发布服务器用于对外(包括客户端)发布集成好的***软件版本。
具体地,在本实施例中,首先,在工作平台的shell命令行窗口中通过输入执行命令,连接并进入编译服务器,由此触发编译服务器执行***软件版本集成功能,后续编译服务器将调用编译服务器上的脚本文件以执行集成功能,该脚本文件中存储有预先定义的需要使用的SVN服务器路径以及OTA升级包上传路径等,具体包括:android***代码和预置应用apk文件在SVN服务器上的放置路径(即SVN服务器上***代码目录和预置应用apk目录);上述资源下载后存放在编译服务器上的路径(即编译服务器上***代码目录和预置应用apk目录,该路径也可以默认保存在编译服务器的当前路径);最终生成的OTA升级包(android设备***升级需要的升级包)的路径(该路径也可默认为保存在编译服务器的当前路径);最终的升级包需要上传到版本发布服务器的路径。
步骤S102,根据所述执行指令调用所述编译服务器上的脚本文件,从SVN服务器获取***软件版本集成的当前版本号;
在具体实施时,开发人员通过操作工作平台的shell命令行窗口输入执行命令,使得工作平台与编译服务器连接并进入编译服务器,在编译服务器上调用脚本文件,检索SVN服务器上预置应用apk目录http://*/apk/,然后解析所述预置应用apk目录中各子目录名。
由于各子目录名是以版本号命名的,因而可以方便的得到版本号列表。选择所述版本号列表中最大的版本号对应的子目录作为本次集成需要的预置应用apk目录,并将所述最大的版本号作为本次***软件版本集成的当前版本号。
步骤S103,根据所述当前版本号从SVN服务器下载当前版本号对应的***代码和预置应用apk文件;
编译服务器根据当前版本号,检索所述SVN服务器上的***代码版本更新信息;将最新的若干个(比如10个)版本变动信息(包括时间、修改人和修改内容等)以窗口形式通过工作平台呈现给开发人员。
开发人员从中选择本次集成需要的***代码版本,发送给编译服务器。
编译服务器根据开发人员的选择,调用脚本文件从SVN服务器下载对应的版本***代码到编译服务器指定***代码目录;并将***代码内***代码版本号修改为当前版本号;这样以便区别不同的版本号对应的集成文件,同时,从SVN服务器下载与所述对应的版本***代码匹配的预置应用apk文件到编译服务器指定预置应用apk文件目录。
如此开发者无需手动登陆SVN服务器查看***代码版本信息就可以方便的选择本次集成需要与预置应用apk文件匹配的***代码版本,从而实现了预置应用在不同版本***上运行状况的测试需求。
步骤S104,对所述***代码和预置应用apk文件进行编译及打包处理,得到OTA【Android***提供的标准软件升级方式】升级包;
步骤S105,根据脚本文件中OTA升级包上传路径将所述OTA升级包作为集成后的***软件版本上传至版本发布服务器。
编译服务器调用android***的make【执行】命令,开始andoird***正常的基于***代码和预置应用apk文件的编译流程,在android***的整个编译流程最后添加一条make规则,该规则需要完成以下任务:
调用android***的make otapackage【制作升级包】命令,将通过编译得到的文件制作为OTA升级包,完成后自动在***代码根目录下的out文件夹生成update.zip的OTA升级包。
然后将所述OTA升级包作为集成后的***软件版本上传至版本发布服务器,由版本发布服务器对外发布,比如,版本发布服务器根据客户端下载请求,将集成后的***软件版本发送至客户端;或者版本发布服务器将集成后的***软件版本备份至工作平台。
本实施例通过上述方案,由编译服务器根据从工作平台获取的***软件版本集成执行指令调用脚本文件,从SVN服务器获取***软件版本集成的当前版本号;根据当前版本号从SVN服务器下载当前版本号对应的***代码和预置应用apk文件;对***代码和预置应用apk文件进行编译及打包处理,得到OTA升级包;将OTA升级包作为集成后的***软件版本上传至版本发布服务器,由版本发布服务器对外发布,由此,通过调用脚本文件的方式,实现了只需一个执行命令,便可一步完成应用预置、***代码下载、***编译、版本自动管理、OTA升级包制作等繁琐的工作,准确生成最终升级包文件并上传到版本发布服务器,从而优化android设备软件版本的集成机制,为***空间节省容量资源,降低开发成本和提高开发效率;在简化了android***版本集成步骤的同时,也带来了android***的性能提升。
如图2所示,本发明第二实施例提出一种***软件版本集成方法,在上述第一实施例的基础上,在上述步骤S102之后还包括:
步骤S106,对所述当前版本号进行有效性检查。
本实施例与上述第一实施例的区别在于,本实施例中编译服务器在从SVN服务器获取到***软件版本集成的当前版本号之后,不是直接根据该当前版本号从SVN服务器下载对应的***代码和预置应用apk文件,而是需要对获取的当前版本号的有效性进行检查,当检查结果表明当前版本号有效时,则根据该有效的当前版本号从SVN服务器下载对应的***代码和预置应用apk文件;当前版本号无效时向所述工作平台发送提示信息;由工作平台根据所述提示信息对当前版本号进行修改,以提高***软件版本集成的操作效率。
其中,对当前版本号进行有效性检查的过程如下:
首先判断所述当前版本号的位数和命名是否符合规定,即判断得到版本号与预先规定的版本号是否一致。
同时还要判断当前版本号是否是上一次集成版本号的增加,即将本次得到的版本号与上次保存的版本号进行对比,判断当前版本号是否大于上次获得版本号;如果均符合,则判定当前版本号有效;否则,向工作平台发送提示信息,由工作平台的开发人员对当前版本号进行修改,开发人员可以通过工作平台进入SVN服务器进行目录名修正,修改正确后,编译服务器再重新调用脚本文件获取当前版本号。
本实施例通过上述方案,由编译服务器根据从工作平台获取的***软件版本集成执行指令调用脚本文件,从SVN服务器获取***软件版本集成的当前版本号,并对该版本号有效性进行检查,当版本号有效时,根据当前版本号从SVN服务器下载对应的***代码和预置应用apk文件;对***代码和预置应用apk文件进行整合编译及打包处理,得到OTA升级包;将OTA升级包作为集成后的***软件版本上传至版本发布服务器,由版本发布服务器对外发布,由此,通过调用脚本文件的方式,实现了只需一个执行命令,便可一步完成应用预置、***代码下载、***编译、版本自动管理、OTA升级包制作等繁琐的工作,准确生成最终升级包文件并上传到版本发布服务器,从而优化android设备软件版本的集成机制,为***空间节省容量资源,降低开发成本,提高开发效率以及***软件版本集成的操作效率;在简化了android***版本集成步骤的同时,也带来了android***的性能提升。
如图3所示,本发明第三实施例提出一种***软件版本集成方法,在上述第二实施例的基础上,在上述步骤S103之后还包括:
步骤S107,进入所述编译服务器上的预置应用apk目录;
步骤S108,从所述预置应用apk目录中提取所有预置应用apk文件中的so文件到另一预设目录中。
本实施例与上述第二实施例的区别在于,本实施例在对***代码和预置应用apk文件进行编译及打包处理之前,还需要对预置应用apk文件进行so文件提取及剔除操作,以节省***占用空间。
具体地,进入编译服务器上的预置应用apk目录,通过命令提取所有预置应用apk文件中的so文件到另一个单独的目录*/system/lib,此时,原来预置应用apk文件中的so文件不再使用。而现有的处理方法都是任其留在预置应用apk文件中,从而会占用相当一部分的***空间。
本实施例为了节省空间,通过命令把原来预置应用apk文件中的so文件提取出来,如此后续就可以把分离开的预置应用apk文件和so文件编译进android***。
之后,调用android的make命令,开始andoird正常的编译流程,调用android的make otapackage命令,将通过编译得到的文件制作为OTA升级包,完成后自动在***代码根目录下的out文件夹生成update.zip的OTA升级包。
本实施例通过上述方案,在对***代码和预置应用apk文件进行编译及打包处理之前,对预置应用apk文件进行so文件提取操作,节省了***占用空间,降低了设备成本。
如图4所示,本发明第四实施例提出一种***软件版本集成方法,在上述第三实施例的基础上,在上述步骤S104之后还包括:
步骤S109,对所述OTA升级包进行MD5【消息摘要算法第五版】检测,生成MD文本文件;
上述步骤S105则替换为:根据脚本文件中OTA升级包上传路径将所述OTA升级包和所述MD文本文件作为集成后的***软件版本上传至所述版本发布服务器。
本实施例与上述第三实施例的区别在于,本实施例中编译服务器在生成OTA升级包后,还需对所述OTA升级包进行MD5检测,以保证***软件版本接收方得到版本的完整性和准确性。
具体地,在版本发布服务器提供集成好的软件版本给测试部门测试或者给工厂进行生产时,为保证对方得到版本的完整性和准确性,本实施例通过命令md5sum update.zip >> MD5.txt把生成的OTA升级包进行md5 check(MD5检测),MD5 check的作用是让大容量信息变换成一定长的十六进制数字串,把检测后产生的checksum值(十六进制数字串)保存在MD5.txt文件。同时该文件还保存当前时间和本次版本号,方便使用人员校验和直观地查询该版本是何时集成编译的。
最后,通过命令把OTA升级包和MD5.txt压缩成在一个zip包里,并上传到版本发布服务器上,以供客户端下载使用。
之后,通过命令在SVN服务器上创建下一版本的预置应用apk路径,把当前预置应用apk目录中当前版本号加一作为新路径的预置应用apk目录名。如此,开发者做下一次版本集成时,无需人工干涉管理版本号,直接调用以上脚本文件,脚本文件重新识别版本号进行集成工作。
本实施例通过上述方案,编译服务器在生成OTA升级包后,对OTA升级包进行MD5检测,保证了***软件版本接收方得到版本的完整性和准确性。
如图5所示,本发明第一实施例提出一种编译服务器,包括:执行指令接收模块201、版本号获取模块202、下载模块203、编译打包模块204以及版本上传模块205,其中:
脚本文件获取模块201,用于接收工作平台触发的***软件版本集成执行指令;
版本号获取模块202,用于根据所述执行指令调用所述编译服务器上的脚本文件,从SVN服务器获取***软件版本集成的当前版本号;
下载模块203,用于根据所述当前版本号从SVN服务器下载当前版本号对应的***代码和预置应用apk文件;
编译打包模块204,用于对所述***代码和预置应用apk文件进行编译及打包处理,得到OTA升级包;
版本上传模块205,用于将所述OTA升级包作为集成后的***软件版本上传至版本发布服务器。
本实施例中***软件版本的集成具体可以是android设备软件版本的集成,也可以为其他操作***设备的软件版本集成,在此以android操作***软件版本举例说明。
与本实施例编译服务器交互的设备还包括工作平台、SVN服务器以及版本发布服务器。其中:
工作平台具体可以是PC(个人电脑)、笔记本或其它工作站点。
上述脚本文件中存储有预先定义的需要使用的SVN服务器路径以及OTA升级包上传路径等。该脚本文件由开发人员设计并存储在工作平台中,开发人员也可以根据需要对该脚本文本进行修改。
SVN服务器负责存放和管理android***代码和预置应用apk代码;编译服务器负责脚本文件的执行,以及***代码及预置应用apk代码的编译,并将编译打包集成后的***软件版本上传至版本发布服务器;版本发布服务器用于对外(包括客户端)发布集成好的***软件版本。
具体地,在本实施例中,首先在工作平台的shell命令行窗口中输入执行命令,使得工作平台连接并进入编译服务器,由此触发编译服务器执行***软件版本集成功能,执行指令接收模块201接收到该执行指令后,版本号获取模块202将调用编译服务器上的脚本文件以执行集成功能,该脚本文件中存储有预先定义的需要使用的SVN服务器路径以及OTA升级包上传路径等,具体包括:android***代码和预置应用apk文件在SVN服务器上的放置路径(即SVN服务器上***代码目录和预置应用apk目录);上述资源下载后存放在编译服务器上的路径(即编译服务器上***代码目录和预置应用apk目录,该路径也可以默认保存在编译服务器的当前路径);最终生成的OTA升级包(android设备***升级需要的升级包)的路径(该路径也可默认为保存在编译服务器的当前路径);最终的升级包需要上传到版本发布服务器的路径。
在具体实施时,开发人员通过操作工作平台的shell命令行窗口执行命令,连接并进入编译服务器,在编译服务器上调用脚本文件,由版本号获取模块202检索SVN服务器上预置应用apk目录http://*/apk/,然后解析所述预置应用apk目录中各子目录名。
由于各子目录名是以版本号命名的,因而可以方便的得到版本号列表。选择所述版本号列表中最大的版本号对应的子目录作为本次集成需要的预置应用apk目录,并将所述最大的版本号作为本次***软件版本集成的当前版本号。
编译服务器根据当前版本号,检索所述SVN服务器上的***代码版本更新信息;将最新的若干个(比如10个)版本变动信息(包括时间、修改人和修改内容等)以窗口形式通过工作平台呈现给开发人员。
开发人员从中选择本次集成需要的***代码版本,发送给编译服务器。
编译服务器下载模块203根据开发人员的选择,调用脚本文件从SVN服务器下载对应的版本***代码到编译服务器指定***代码目录;并将***代码内***代码版本号修改为当前版本号;这样以便区别不同的版本号对应的集成文件,同时,从SVN服务器下载与所述对应的版本***代码匹配的预置应用apk文件到编译服务器指定预置应用apk文件目录。
如此开发者无需连接SVN服务器就可以方便的选择本次集成需要与预置应用apk文件匹配的***代码版本,从而实现了预置应用在不同版本***上运行状况的测试需求。
编译服务器编译打包模块204调用android***的make命令,开始andoird***正常的基于***代码和预置应用apk文件的编译流程,在android***的整个编译流程最后添加一条make规则,该规则需要完成以下任务:
调用android***的make otapackage命令,将通过编译得到的文件制作为OTA升级包,完成后自动在***代码根目录下的out文件夹生成update.zip的OTA升级包。
然后通过版本上传模块205将所述OTA升级包作为集成后的***软件版本上传至版本发布服务器,由版本发布服务器对外发布。
具体地,如图6所示,所述版本号获取模块202包括:目录检索单元2021、解析单元2022以及选择单元2023,其中:
目录检索单元2021,用于调用所述脚本文件,检索所述SVN服务器上预置应用apk目录;
解析单元2022,用于解析所述预置应用apk目录中各子目录名,获取版本号列表;
选择单元2023,用于选择所述版本号列表中最大的版本号对应的子目录作为本次集成需要的预置应用apk目录,并将所述最大的版本号作为本次***软件版本集成的当前版本号。
如图7所示,下载模块203包括:版本更新检索单元2031、发送单元2032、***代码下载单元2033以及预置应用下载单元2034,其中:
版本更新检索单元2031,用于根据当前版本号,检索所述SVN服务器上的***代码版本更新信息;
发送单元2032,用于将最新的若干个版本更新信息发送给工作平台,具体可以以窗口形式呈现在工作平台;
***代码下载单元2033,用于根据所述工作平台的选择,调用所述脚本文件从SVN服务器下载对应的版本***代码到编译服务器指定***代码目录;
预置应用下载单元2034,用于从SVN服务器下载与所述对应的版本***代码匹配的预置应用apk文件到编译服务器指定预置应用apk目录。
本实施例通过上述方案,由编译服务器根据从工作平台获取的***软件版本集成执行指令调用脚本文件,从SVN服务器获取***软件版本集成的当前版本号;根据当前版本号从SVN服务器下载当前版本号对应的***代码和预置应用apk文件;对***代码和预置应用apk文件进行编译及打包处理,得到OTA升级包;将OTA升级包作为集成后的***软件版本上传至版本发布服务器,由版本发布服务器对外发布,由此,通过调用脚本文件的方式,实现了只需一个执行命令,便可一步完成应用预置、***代码下载、***编译、版本自动管理、OTA升级包制作等繁琐的工作,准确生成最终升级包文件并上传到版本发布服务器,从而优化android设备软件版本的集成机制,为***空间节省容量资源,降低开发成本和提高开发效率;在简化了android***版本集成步骤的同时,也带来了android***的性能提升。
如图8所示,本发明第二实施例提出一种编译服务器,在上述第一实施例的基础上,还包括:
检查模块206,用于对所述当前版本号进行有效性检查。
本实施例与上述第一实施例的区别在于,本实施例中编译服务器在从SVN服务器获取到***软件版本集成的当前版本号之后,不是直接根据该当前版本号从SVN服务器下载对应的***代码和预置应用apk文件,而是需要对获取的当前版本号的有效性进行检查,当检查结果表明当前版本号有效时,则根据该有效的当前版本号从SVN服务器下载对应的***代码和预置应用apk文件,以提高***软件版本集成的操作效率。
其中,对当前版本号进行有效性检查的过程如下:
首先判断所述当前版本号的位数和命名是否符合规定,即判断得到版本号与预先规定的版本号是否一致。
同时还要判断当前版本号是否是上一次集成版本号的增加,即将本次得到的版本号与上次保存的版本号进行对比,判断当前版本号是否大于上次获得版本号;如果均符合,则判定当前版本号有效;否则,向工作平台发送提示信息,由工作平台的开发人员对当前版本号进行修改,开发人员可以通过工作平台进入SVN服务器进行目录名修正,修改正确后,编译服务器再重新获取当前版本号。
本实施例通过上述方案,由编译服务器根据从工作平台获取的***软件版本集成执行指令调用脚本文件,从SVN服务器获取***软件版本集成的当前版本号,并对该版本号有效性进行检查,当版本号有效时,根据当前版本号从SVN服务器下载对应的***代码和预置应用apk文件;对***代码和预置应用apk文件进行整合编译及打包处理,得到OTA升级包;将OTA升级包作为集成后的***软件版本上传至版本发布服务器,由版本发布服务器对外发布,由此,通过调用脚本文件的方式,实现了只需一个执行命令,便可一步完成应用预置、***代码下载、***编译、版本自动管理、OTA升级包制作等繁琐的工作,准确生成最终升级包文件并上传到版本发布服务器,从而优化android设备软件版本的集成机制,为***空间节省容量资源,降低开发成本,提高开发效率以及***软件版本集成的操作效率;在简化了android***版本集成步骤的同时,也带来了android***的性能提升。
如图9所示,本发明第三实施例提出一种编译服务器,在上述第二实施例的基础上,还包括:
SO提取模块207,用于进入所述编译服务器上的预置应用apk目录;从所述预置应用apk目录中提取所有预置应用apk文件中的so文件到另一预设目录中。
本实施例与上述第二实施例的区别在于,本实施例在对***代码和预置应用apk文件进行编译及打包处理之前,还需要对预置应用apk文件进行so文件提取操作,以节省***占用空间。
具体地,进入编译服务器上的预置应用apk目录,通过命令提取所有预置应用apk文件中的so文件到另一个单独的目录*/system/lib,此时,原来预置应用apk文件中的so文件不再使用。而现有的处理方法都是任其留在预置应用apk文件中,从而会占用相当一部分的***空间。
本实施例为了节省空间,通过命令把原来预置应用apk文件中的so文件提取出来,如此后续就可以把分离开的预置应用apk文件和so文件编译进android***。
之后,调用android的make命令,开始andoird正常的编译流程,调用android的make otapackage命令,将通过编译得到的文件制作为OTA升级包,完成后自动在***代码根目录下的out文件夹生成update.zip的OTA升级包。
本实施例通过上述方案,在对***代码和预置应用apk文件进行编译及打包处理之前,对预置应用apk文件进行so文件提取操作,节省了***占用空间,降低了设备成本。
如图10所示,本发明第四实施例提出一种编译服务器,在上述第三实施例的基础上,还包括:
MD5检测模块208,用于对所述OTA升级包进行MD5检测,生成MD文本文件;
所述版本上传模块205还用于根据脚本文件中OTA升级包上传路径将所述OTA升级包和所述MD文本文件作为集成后的***软件版本上传至所述版本发布服务器。
本实施例与上述第三实施例的区别在于,本实施例中编译服务器在生成OTA升级包后,还需对所述OTA升级包进行MD5检测,以保证***软件版本接收方得到版本的完整性和准确性。
具体地,在版本发布服务器提供集成好的软件版本给测试部门测试或者给工厂进行生产时,为保证对方得到版本的完整性和准确性,本实施例通过命令md5sum update.zip >> MD5.txt把生成的OTA升级包进行md5 check(MD5检测),MD5 check的作用是让大容量信息变换成一定长的十六进制数字串,把检测后产生的checksum值(十六进制数字串)保存在MD5.txt文件。同时该文件还保存当前时间和本次版本号,方便使用人员校验和直观地查询该版本是何时集成编译的。
最后,通过命令把OTA升级包和MD5.txt压缩成在一个zip包里,并上传到版本发布服务器上,以供客户端下载使用。
之后,通过命令在SVN服务器上创建下一版本的预置应用apk路径,把当前预置应用apk目录中当前版本号加一作为新路径的预置应用apk目录名。如此,开发者做下一次版本集成时,无需人工干涉管理版本号,直接调用以上脚本文件,脚本文件重新识别版本号进行集成工作。
本实施例通过上述方案,编译服务器在生成OTA升级包后,对OTA升级包进行MD5检测,保证了***软件版本接收方得到版本的完整性和准确性。
如图11所示,本发明较佳实施例提出一种***软件版本集成***,包括:工作平台301以及分别与所述工作平台301连接的SVN服务器302、编译服务器303和版本发布服务器304,所述编译服务器303还分别与所述SVN服务器302和版本发布服务器304连接,版本发布服务器304还与外部客户端305连接,其中:
所述工作平台301,用于触发***软件版本集成的执行指令;
所述SVN服务器302,用于存储及管理***软件版本集成的版本号、***代码和预置应用apk文件;
所述编译服务器303,用于接收工作平台301触发的***软件版本集成执行指令;根据所述执行指令调用所述编译服务器上的脚本文件,从SVN服务器302获取***软件版本集成的当前版本号;根据所述当前版本号从SVN服务器302下载当前版本号对应的***代码和预置应用apk文件;对所述***代码和预置应用apk文件进行编译及打包处理,得到OTA升级包;将所述OTA升级包作为集成后的***软件版本上传至版本发布服务器304;
所述版本发布服务器304,用于接收编译服务器303上传的集成后的***软件版本并对外发布。比如,版本发布服务器304根据客户端305下载请求,将集成后的***软件版本发送至客户端305;或者版本发布服务器304将集成后的***软件版本备份至工作平台301。
进一步地,所述工作平台301还用于定义需要使用的SVN服务器302路径以及OTA升级包上传路径,并将路径信息保存至所述脚本文件。上述路径具体包括:android***代码和预置应用apk文件在SVN服务器上的放置路径(即SVN服务器上***代码目录和预置应用apk目录);上述资源下载后存放在编译服务器上的路径(即编译服务器上***代码目录和预置应用apk目录,该路径也可以默认保存在编译服务器的当前路径);最终生成的OTA升级包(android设备***升级需要的升级包)的路径(该路径也可默认为保存在编译服务器的当前路径);最终的升级包需要上传到版本发布服务器的路径。
进一步地,所述工作平台301用于当编译服务器303的检查模块在检测到当前版本号无效时,对当前版本号进行修改。同时所述工作平台301还用于保存版本服务器304发过来的集成后的***软件版本。
进一步地,作为一种实施方式,所述编译服务器303在从SVN服务器302获取到***软件版本集成的当前版本号之后,还用于对所述当前版本号进行有效性检查;当检查结果表明当前版本号有效时,则根据该有效的当前版本号从SVN服务器302下载对应的***代码和预置应用apk文件,当前版本号无效时向所述工作平台301发送提示信息;由工作平台301根据所述提示信息对当前版本号进行修改,以提高***软件版本集成的操作效率。
进一步地,作为一种实施方式,所述编译服务器303还用于在下载对应的***代码和预置应用apk文件后,进入预置应用apk目录;从所述预置应用apk目录中提取所有预置应用apk文件中的so文件到另一预设目录中,由此将原来预置应用apk文件中的so文件提取出来,后续就可以把分离开的预置应用apk文件和so文件编译进android***,以节省***占用空间。
更进一步地,作为一种实施方式,所述编译服务器303在生成OTA升级包后,还用于对所述OTA升级包进行MD5检测,生成MD文本文件;将所述OTA升级包和所述MD文本文件作为集成后的***软件版本上传至所述版本发布服务器304,以保证***软件版本接收方得到版本的完整性和准确性。
进一步地,所述SVN服务器302在编译服务器303完成***软件版本的集成后,还用于创建下一次***软件版本集成的目录。如此,开发者做下一次版本集成时,无需人工干涉管理版本号,直接调用以上脚本文件,脚本文件重新识别版本号进行集成工作。
本实施例***中工作平台301、SVN服务器302、编译服务器303和版本发布服务器304之间实现***软件版本集成的交互过程请参照上述各实施例,在此不再赘述。
本发明实施例***软件版本集成方法、编译服务器及***,通过编译服务器根据从工作平台获取的***软件版本集成执行指令调用脚本文件,从SVN服务器获取***软件版本集成的当前版本号;根据所述当前版本号从SVN服务器下载当前版本号对应的***代码和预置应用apk文件;对***代码和预置应用apk文件进行编译及打包处理,得到OTA升级包;将OTA升级包作为集成后的***软件版本上传至版本发布服务器,由版本发布服务器对外发布,由此,通过调用脚本文件的方式,实现了只需一个执行命令,便可一步完成应用预置、SVN***代码下载、***编译、版本自动管理、OTA升级包制作、MD5检测等繁琐的工作,准确生成最终升级包文件并上传到服务器,从而优化android设备软件版本的集成机制,为***空间节省容量资源,降低开发成本和提高开发效率;在简化了android***版本集成步骤的同时,也带来了android***的性能提升。
上述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (13)
1.一种***软件版本集成方法,其特征在于,包括:
编译服务器接收工作平台触发的***软件版本集成执行指令;
根据所述执行指令调用所述编译服务器上的脚本文件,从SVN服务器获取***软件版本集成的当前版本号;所述脚本文件中存储有预先定义的需要使用的SVN服务器路径以及OTA升级包上传路径;
根据所述当前版本号从SVN服务器下载当前版本号对应的***代码和预置应用apk文件;
对所述***代码和预置应用apk文件进行编译及打包处理,得到OTA升级包;
将所述OTA升级包作为集成后的***软件版本上传至版本发布服务器。
2.根据权利要求1所述的方法,其特征在于,所述根据所述执行指令调用所述编译服务器上的脚本文件,从SVN服务器获取***软件版本集成的当前版本号的步骤包括:
根据所述执行指令调用所述脚本文件,检索所述SVN服务器上预置应用apk目录;
解析所述预置应用apk目录中各子目录名,获取版本号列表;
选择所述版本号列表中最大的版本号对应的子目录作为本次集成需要的预置应用apk目录,并将所述最大的版本号作为本次***软件版本集成的当前版本号。
3.根据权利要求2所述的方法,其特征在于,所述根据所述执行指令调用所述编译服务器上的脚本文件,从SVN服务器获取***软件版本集成的当前版本号的步骤之后还包括:
判断所述当前版本号的位数和命名与预先规定的版本号是否一致;以及判断当前版本号是否大于上次获得版本号;如果均符合,则判定当前版本号有效;否则,向所述工作平台发送提示信息,由工作平台对当前版本号进行修改,编译服务器再重新获取当前版本号。
4.根据权利要求2或3所述的方法,其特征在于,所述根据当前版本号从SVN服务器下载当前版本号对应的***代码和预置应用apk文件的步骤包括:
根据当前版本号,检索所述SVN服务器上的***代码版本更新信息;
根据所述工作平台的选择,调用所述脚本文件从SVN服务器下载当前版本号对应的版本***代码到编译服务器指定***代码目录;
从SVN服务器下载与所述对应的版本***代码匹配的预置应用apk文件到编译服务器上指定预置应用apk目录。
5.根据权利要求4所述的方法,其特征在于,所述根据当前版本号从SVN服务器下载当前版本号对应的***代码和预置应用apk文件的步骤之后还包括:
进入所述编译服务器上的预置应用apk目录;
从所述预置应用apk目录中提取所有预置应用apk文件中的so文件到另一预设目录中。
6.根据权利要求5所述的方法,其特征在于,所述对***代码和预置应用apk文件进行编译及打包处理,得到OTA升级包的步骤之后还包括:
对所述OTA升级包进行MD5检测,生成MD文本文件;
所述将OTA升级包作为集成后的***软件版本上传至版本发布服务器的步骤包括:
根据脚本文件中OTA升级包上传路径将所述OTA升级包和所述MD文本文件作为集成后的***软件版本上传至所述版本发布服务器。
7.一种编译服务器,其特征在于,包括:
执行指令接收模块,用于接收工作平台触发的***软件版本集成执行指令;
版本号获取模块,用于根据所述执行指令调用所述编译服务器上的脚本文件,从SVN服务器获取***软件版本集成的当前版本号;所述脚本文件中存储有预先定义的需要使用的SVN服务器路径以及OTA升级包上传路径;
下载模块,用于根据所述当前版本号从SVN服务器下载当前版本号对应的***代码和预置应用apk文件;
编译打包模块,用于对所述***代码和预置应用apk文件进行编译及打包处理,得到OTA升级包;
版本上传模块,用于将所述OTA升级包作为集成后的***软件版本上传至版本发布服务器。
8.根据权利要求7所述的编译服务器,其特征在于,所述版本号获取模块包括:
目录检索单元,用于根据所述执行指令调用所述脚本文件,检索所述SVN服务器上预置应用apk目录;
解析单元,用于解析所述预置应用apk目录中各子目录名,获取版本号列表;
选择单元,用于选择所述版本号列表中最大的版本号对应的子目录作为本次集成需要的预置应用apk目录,并将所述最大的版本号作为本次***软件版本集成的当前版本号。
9.根据权利要求8所述的编译服务器,其特征在于,还包括:
检查模块,用于对所述当前版本号进行有效性检查;具体用于判断所述当前版本号的位数和命名与预先规定的版本号是否一致;以及判断当前版本号是否大于上次获得版本号;如果均符合,则判定当前版本号有效;否则,向所述工作平台发送提示信息,由工作平台对当前版本号进行修改,再由版本号获取模块重新获取当前版本号。
10.根据权利要求8或9所述的编译服务器,其特征在于,所述下载模块包括:
版本更新检索单元,用于根据当前版本号,检索所述SVN服务器上的***代码版本更新信息;
发送单元,用于将最新的若干个版本变动信息发送给工作平台;
***代码下载单元,用于根据所述工作平台的选择,调用所述脚本文件从SVN服务器下载当前版本号对应的版本***代码到编译服务器指定***代码目录;
预置应用下载单元,用于从SVN服务器下载与所述对应的版本***代码匹配的预置应用apk文件到编译服务器上指定预置应用apk目录。
11.根据权利要求10所述的编译服务器,其特征在于,还包括:
SO提取模块,用于进入所述编译服务器上的预置应用apk目录;从所述预置应用apk目录中提取所有预置应用apk文件中的so文件到另一预设目录中。
12.根据权利要求10所述的编译服务器,其特征在于,还包括:
MD5检测模块,用于对所述OTA升级包进行MD5检测,生成MD文本文件;
所述版本上传模块还用于根据脚本文件中OTA升级包上传路径将所述OTA升级包和所述MD文本文件作为集成后的***软件版本上传至所述版本发布服务器。
13.一种***软件版本集成***,其特征在于,包括:工作平台以及分别与所述工作平台连接的SVN服务器、版本发布服务器以及上述权利要求7—12中任一项所述的编译服务器,所述编译服务器还分别与所述SVN服务器和版本发布服务器连接,其中:
所述工作平台,用于触发***软件版本集成的执行指令;
所述SVN服务器,用于存储及管理***软件版本集成的版本号、***代码和预置应用apk文件;
所述版本发布服务器,用于接收编译服务器上传的集成后的***软件版本并对外发布。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013102603371A CN103294514A (zh) | 2013-06-26 | 2013-06-26 | ***软件版本集成方法、编译服务器及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013102603371A CN103294514A (zh) | 2013-06-26 | 2013-06-26 | ***软件版本集成方法、编译服务器及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103294514A true CN103294514A (zh) | 2013-09-11 |
Family
ID=49095451
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013102603371A Pending CN103294514A (zh) | 2013-06-26 | 2013-06-26 | ***软件版本集成方法、编译服务器及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103294514A (zh) |
Cited By (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103530137A (zh) * | 2013-11-05 | 2014-01-22 | 中国联合网络通信集团有限公司 | 一种Java web应用部署方法及装置 |
CN103559133A (zh) * | 2013-11-11 | 2014-02-05 | 北京国双科技有限公司 | 安卓设备***的检测方法、装置和*** |
CN104298597A (zh) * | 2014-10-11 | 2015-01-21 | 无锡天脉聚源传媒科技有限公司 | 一种开发过程中进行包管理的方法及装置 |
CN104360845A (zh) * | 2014-10-27 | 2015-02-18 | 浪潮软件股份有限公司 | 一种基于svn的协作开发构建方法 |
CN104407856A (zh) * | 2014-11-10 | 2015-03-11 | 北京国双科技有限公司 | 软件工具开发包文件的打包方法和装置 |
CN104536775A (zh) * | 2014-11-26 | 2015-04-22 | 四川长虹电器股份有限公司 | 一种Android平台下预置应用的升级方法及*** |
CN104780076A (zh) * | 2015-03-19 | 2015-07-15 | 杭州华三通信技术有限公司 | 一种代码检查方法和设备 |
CN104991810A (zh) * | 2015-07-24 | 2015-10-21 | 上海斐讯数据通信技术有限公司 | 自动添加apk到安卓***中的方法及处理*** |
CN105138387A (zh) * | 2015-08-31 | 2015-12-09 | 惠州Tcl移动通信有限公司 | 一种软件的编译方法、装置及*** |
CN105159681A (zh) * | 2015-09-18 | 2015-12-16 | 北京恒华伟业科技股份有限公司 | 程序发布方法及装置 |
CN105224317A (zh) * | 2015-09-14 | 2016-01-06 | 上海斐讯数据通信技术有限公司 | 一种apk应用到安卓项目源码中的方法及*** |
CN105446789A (zh) * | 2015-11-23 | 2016-03-30 | 上海斐讯数据通信技术有限公司 | 一种内置应用程序到安卓***的方法及装置 |
CN105678118A (zh) * | 2014-11-19 | 2016-06-15 | 阿里巴巴集团控股有限公司 | 一种含数字证书的软件版本生成方法及装置 |
CN105867973A (zh) * | 2016-03-30 | 2016-08-17 | 乐视控股(北京)有限公司 | 应用程序中so文件的加载方法及*** |
CN105867950A (zh) * | 2016-05-31 | 2016-08-17 | 广东能龙教育股份有限公司 | 一种基于Gradle和Svn在线自动化打包方法 |
CN105867959A (zh) * | 2015-12-01 | 2016-08-17 | 乐视致新电子科技(天津)有限公司 | 二进制文件集成方法及装置 |
CN106055326A (zh) * | 2016-05-27 | 2016-10-26 | 中国农业银行股份有限公司 | 一种程序处理方法及调度服务器 |
CN106325958A (zh) * | 2016-08-30 | 2017-01-11 | 北京小米移动软件有限公司 | 代码下载方法和编译服务器 |
CN106776296A (zh) * | 2016-11-30 | 2017-05-31 | 网易(杭州)网络有限公司 | 覆盖率检测的启动方法、装置和启动设备 |
CN106802814A (zh) * | 2016-12-14 | 2017-06-06 | 智车优行科技(北京)有限公司 | 用于软件版本升级的方法及装置 |
CN106980496A (zh) * | 2017-01-18 | 2017-07-25 | 上海爱韦讯信息技术有限公司 | 基于fog数据总线的工具集成方法及*** |
WO2017148057A1 (zh) * | 2016-03-03 | 2017-09-08 | 中兴通讯股份有限公司 | 一种软件版本生成方法及装置 |
CN107276844A (zh) * | 2017-06-01 | 2017-10-20 | 郑州云海信息技术有限公司 | 一种基于linux操作***定向登入服务器***的自动设置方法 |
CN107391155A (zh) * | 2017-07-31 | 2017-11-24 | 北京北信源软件股份有限公司 | 一种打包方法及装置 |
CN107423218A (zh) * | 2017-07-20 | 2017-12-01 | 北京小米移动软件有限公司 | 应用测试方法、装置及终端 |
CN107729045A (zh) * | 2017-09-30 | 2018-02-23 | 武汉汉思信息技术有限责任公司 | 应用程序自动化版本发布方法及*** |
CN107729066A (zh) * | 2017-11-08 | 2018-02-23 | 重庆扬讯软件技术股份有限公司 | 一种基于svn资源库自动化构建发布方法与装置 |
CN107967139A (zh) * | 2016-10-17 | 2018-04-27 | 网易(杭州)网络有限公司 | 游戏的热更新方法及装置 |
CN108170606A (zh) * | 2018-01-03 | 2018-06-15 | 中国工商银行股份有限公司 | ***软件升级类应用的测试***及方法 |
CN108170465A (zh) * | 2018-01-04 | 2018-06-15 | 武汉斗鱼网络科技有限公司 | 一种版本信息管理方法、电子设备及可读存储介质 |
CN108241493A (zh) * | 2018-01-09 | 2018-07-03 | 政采云有限公司 | 分布式软件***的自动化持续集成与交付方法、装置和*** |
CN108614699A (zh) * | 2016-12-20 | 2018-10-02 | 航天信息股份有限公司 | 一种在windows***上持续集成Android项目的方法和*** |
CN108804107A (zh) * | 2018-05-21 | 2018-11-13 | 北京小米移动软件有限公司 | 应用编译方法及装置 |
CN108897543A (zh) * | 2018-06-29 | 2018-11-27 | 苏州科达科技股份有限公司 | 版本的临时编译***、方法、装置及存储介质 |
CN109144524A (zh) * | 2018-07-25 | 2019-01-04 | 深圳点猫科技有限公司 | 一种教育平台上学科游戏的版本发布方法及电子设备 |
CN109710274A (zh) * | 2018-12-14 | 2019-05-03 | 北京小米移动软件有限公司 | 调试功能启动方法及装置 |
CN109725907A (zh) * | 2019-01-03 | 2019-05-07 | 百度在线网络技术(北京)有限公司 | 预置应用的安装方法、装置、设备及计算机可读介质 |
CN109840092A (zh) * | 2018-12-24 | 2019-06-04 | 苏州蜗牛数字科技股份有限公司 | 一种编译和发布版本方法 |
CN109918115A (zh) * | 2019-03-07 | 2019-06-21 | 成都品果科技有限公司 | 一种软件功能发布的方法及*** |
CN110262831A (zh) * | 2019-05-28 | 2019-09-20 | 深圳供电局有限公司 | 一种减小apk体积的方法及*** |
CN110780917A (zh) * | 2019-10-25 | 2020-02-11 | 深圳市同洲电子股份有限公司 | 一种React Native应用自动化打包发布的方法及*** |
CN111158696A (zh) * | 2019-12-20 | 2020-05-15 | 中国建设银行股份有限公司 | 版本部署方法及装置 |
CN111190638A (zh) * | 2019-12-26 | 2020-05-22 | 航天信息股份有限公司企业服务分公司 | 一种用于对开发资源进行自动化处理的方法及*** |
CN112015454A (zh) * | 2020-10-22 | 2020-12-01 | 蘑菇车联信息科技有限公司 | ***升级包的生成方法、装置、电子设备及存储介质 |
CN112083927A (zh) * | 2020-07-06 | 2020-12-15 | 宁波三星医疗电气股份有限公司 | 现场获取电力采集终端内软件svn版本信息的方法 |
CN112230974A (zh) * | 2019-07-15 | 2021-01-15 | 深圳Tcl数字技术有限公司 | 一种电视机差分升级包生成方法和*** |
CN112269688A (zh) * | 2020-10-29 | 2021-01-26 | 四川虹美智能科技有限公司 | 异地灾备***及方法 |
CN112328217A (zh) * | 2020-11-03 | 2021-02-05 | 中国平安人寿保险股份有限公司 | 一种代码部署方法、装置、***、计算机设备和介质 |
CN112929449A (zh) * | 2021-03-10 | 2021-06-08 | 深圳创维-Rgb电子有限公司 | Ota升级包的编译方法、***及计算机可读存储介质 |
CN113138790A (zh) * | 2021-05-14 | 2021-07-20 | 广东九联科技股份有限公司 | Android机顶盒客制化集成方法、装置及机顶盒集成开发*** |
CN113495748A (zh) * | 2020-03-18 | 2021-10-12 | 北京新能源汽车股份有限公司 | 一种汽车的电控软件集成控制方法、装置及服务器 |
CN113535219A (zh) * | 2020-04-15 | 2021-10-22 | 武汉斗鱼鱼乐网络科技有限公司 | 一种app信息发布方法、装置、介质及计算机设备 |
CN115951929A (zh) * | 2022-12-28 | 2023-04-11 | 广州宇中网络科技有限公司 | 一种第三方库源代码管理方法 |
-
2013
- 2013-06-26 CN CN2013102603371A patent/CN103294514A/zh active Pending
Non-Patent Citations (1)
Title |
---|
斯马特: "《Java开发超级工具集》", 30 November 2009 * |
Cited By (72)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103530137B (zh) * | 2013-11-05 | 2017-10-27 | 中国联合网络通信集团有限公司 | 一种Java web应用部署方法及装置 |
CN103530137A (zh) * | 2013-11-05 | 2014-01-22 | 中国联合网络通信集团有限公司 | 一种Java web应用部署方法及装置 |
CN103559133A (zh) * | 2013-11-11 | 2014-02-05 | 北京国双科技有限公司 | 安卓设备***的检测方法、装置和*** |
CN104298597A (zh) * | 2014-10-11 | 2015-01-21 | 无锡天脉聚源传媒科技有限公司 | 一种开发过程中进行包管理的方法及装置 |
CN104360845A (zh) * | 2014-10-27 | 2015-02-18 | 浪潮软件股份有限公司 | 一种基于svn的协作开发构建方法 |
CN104407856B (zh) * | 2014-11-10 | 2018-02-02 | 北京国双科技有限公司 | 软件工具开发包文件的打包方法和装置 |
CN104407856A (zh) * | 2014-11-10 | 2015-03-11 | 北京国双科技有限公司 | 软件工具开发包文件的打包方法和装置 |
CN105678118B (zh) * | 2014-11-19 | 2019-05-10 | 阿里巴巴集团控股有限公司 | 一种含数字证书的软件版本生成方法及装置 |
CN105678118A (zh) * | 2014-11-19 | 2016-06-15 | 阿里巴巴集团控股有限公司 | 一种含数字证书的软件版本生成方法及装置 |
CN104536775A (zh) * | 2014-11-26 | 2015-04-22 | 四川长虹电器股份有限公司 | 一种Android平台下预置应用的升级方法及*** |
CN104780076A (zh) * | 2015-03-19 | 2015-07-15 | 杭州华三通信技术有限公司 | 一种代码检查方法和设备 |
CN104780076B (zh) * | 2015-03-19 | 2019-06-07 | 新华三技术有限公司 | 一种代码检查方法和设备 |
CN104991810A (zh) * | 2015-07-24 | 2015-10-21 | 上海斐讯数据通信技术有限公司 | 自动添加apk到安卓***中的方法及处理*** |
CN105138387A (zh) * | 2015-08-31 | 2015-12-09 | 惠州Tcl移动通信有限公司 | 一种软件的编译方法、装置及*** |
CN105224317A (zh) * | 2015-09-14 | 2016-01-06 | 上海斐讯数据通信技术有限公司 | 一种apk应用到安卓项目源码中的方法及*** |
CN105224317B (zh) * | 2015-09-14 | 2018-06-29 | 上海斐讯数据通信技术有限公司 | 一种apk应用到安卓项目源码中的方法及*** |
CN105159681A (zh) * | 2015-09-18 | 2015-12-16 | 北京恒华伟业科技股份有限公司 | 程序发布方法及装置 |
CN105446789A (zh) * | 2015-11-23 | 2016-03-30 | 上海斐讯数据通信技术有限公司 | 一种内置应用程序到安卓***的方法及装置 |
CN105867959A (zh) * | 2015-12-01 | 2016-08-17 | 乐视致新电子科技(天津)有限公司 | 二进制文件集成方法及装置 |
CN107153563B (zh) * | 2016-03-03 | 2022-04-22 | 中兴通讯股份有限公司 | 一种软件版本生成方法及装置 |
CN107153563A (zh) * | 2016-03-03 | 2017-09-12 | 中兴通讯股份有限公司 | 一种软件版本生成方法及装置 |
WO2017148057A1 (zh) * | 2016-03-03 | 2017-09-08 | 中兴通讯股份有限公司 | 一种软件版本生成方法及装置 |
CN105867973A (zh) * | 2016-03-30 | 2016-08-17 | 乐视控股(北京)有限公司 | 应用程序中so文件的加载方法及*** |
CN106055326A (zh) * | 2016-05-27 | 2016-10-26 | 中国农业银行股份有限公司 | 一种程序处理方法及调度服务器 |
CN105867950A (zh) * | 2016-05-31 | 2016-08-17 | 广东能龙教育股份有限公司 | 一种基于Gradle和Svn在线自动化打包方法 |
CN106325958A (zh) * | 2016-08-30 | 2017-01-11 | 北京小米移动软件有限公司 | 代码下载方法和编译服务器 |
CN107967139A (zh) * | 2016-10-17 | 2018-04-27 | 网易(杭州)网络有限公司 | 游戏的热更新方法及装置 |
CN107967139B (zh) * | 2016-10-17 | 2021-07-27 | 网易(杭州)网络有限公司 | 游戏的热更新方法及装置 |
CN106776296A (zh) * | 2016-11-30 | 2017-05-31 | 网易(杭州)网络有限公司 | 覆盖率检测的启动方法、装置和启动设备 |
CN106802814A (zh) * | 2016-12-14 | 2017-06-06 | 智车优行科技(北京)有限公司 | 用于软件版本升级的方法及装置 |
CN108614699A (zh) * | 2016-12-20 | 2018-10-02 | 航天信息股份有限公司 | 一种在windows***上持续集成Android项目的方法和*** |
CN106980496B (zh) * | 2017-01-18 | 2020-09-29 | 上海爱韦讯信息技术股份有限公司 | 基于fog数据总线的工具集成方法及*** |
CN106980496A (zh) * | 2017-01-18 | 2017-07-25 | 上海爱韦讯信息技术有限公司 | 基于fog数据总线的工具集成方法及*** |
CN107276844A (zh) * | 2017-06-01 | 2017-10-20 | 郑州云海信息技术有限公司 | 一种基于linux操作***定向登入服务器***的自动设置方法 |
CN107423218A (zh) * | 2017-07-20 | 2017-12-01 | 北京小米移动软件有限公司 | 应用测试方法、装置及终端 |
CN107391155A (zh) * | 2017-07-31 | 2017-11-24 | 北京北信源软件股份有限公司 | 一种打包方法及装置 |
CN107729045A (zh) * | 2017-09-30 | 2018-02-23 | 武汉汉思信息技术有限责任公司 | 应用程序自动化版本发布方法及*** |
CN107729066B (zh) * | 2017-11-08 | 2021-08-03 | 重庆扬讯软件技术股份有限公司 | 一种基于svn资源库自动化构建发布方法与装置 |
CN107729066A (zh) * | 2017-11-08 | 2018-02-23 | 重庆扬讯软件技术股份有限公司 | 一种基于svn资源库自动化构建发布方法与装置 |
CN108170606A (zh) * | 2018-01-03 | 2018-06-15 | 中国工商银行股份有限公司 | ***软件升级类应用的测试***及方法 |
CN108170465A (zh) * | 2018-01-04 | 2018-06-15 | 武汉斗鱼网络科技有限公司 | 一种版本信息管理方法、电子设备及可读存储介质 |
CN108241493A (zh) * | 2018-01-09 | 2018-07-03 | 政采云有限公司 | 分布式软件***的自动化持续集成与交付方法、装置和*** |
CN108804107A (zh) * | 2018-05-21 | 2018-11-13 | 北京小米移动软件有限公司 | 应用编译方法及装置 |
CN108897543A (zh) * | 2018-06-29 | 2018-11-27 | 苏州科达科技股份有限公司 | 版本的临时编译***、方法、装置及存储介质 |
CN108897543B (zh) * | 2018-06-29 | 2022-01-14 | 苏州科达科技股份有限公司 | 版本的临时编译***、方法、装置及存储介质 |
CN109144524A (zh) * | 2018-07-25 | 2019-01-04 | 深圳点猫科技有限公司 | 一种教育平台上学科游戏的版本发布方法及电子设备 |
CN109144524B (zh) * | 2018-07-25 | 2022-08-23 | 深圳点猫科技有限公司 | 一种教育平台上学科游戏的版本发布方法及电子设备 |
CN109710274A (zh) * | 2018-12-14 | 2019-05-03 | 北京小米移动软件有限公司 | 调试功能启动方法及装置 |
CN109710274B (zh) * | 2018-12-14 | 2022-03-11 | 北京小米移动软件有限公司 | 调试功能启动方法及装置 |
CN109840092A (zh) * | 2018-12-24 | 2019-06-04 | 苏州蜗牛数字科技股份有限公司 | 一种编译和发布版本方法 |
CN109725907A (zh) * | 2019-01-03 | 2019-05-07 | 百度在线网络技术(北京)有限公司 | 预置应用的安装方法、装置、设备及计算机可读介质 |
CN109918115A (zh) * | 2019-03-07 | 2019-06-21 | 成都品果科技有限公司 | 一种软件功能发布的方法及*** |
CN110262831A (zh) * | 2019-05-28 | 2019-09-20 | 深圳供电局有限公司 | 一种减小apk体积的方法及*** |
CN112230974A (zh) * | 2019-07-15 | 2021-01-15 | 深圳Tcl数字技术有限公司 | 一种电视机差分升级包生成方法和*** |
CN110780917B (zh) * | 2019-10-25 | 2023-04-28 | 深圳市同洲电子股份有限公司 | 一种React Native应用自动化打包发布的方法及*** |
CN110780917A (zh) * | 2019-10-25 | 2020-02-11 | 深圳市同洲电子股份有限公司 | 一种React Native应用自动化打包发布的方法及*** |
CN111158696A (zh) * | 2019-12-20 | 2020-05-15 | 中国建设银行股份有限公司 | 版本部署方法及装置 |
CN111190638A (zh) * | 2019-12-26 | 2020-05-22 | 航天信息股份有限公司企业服务分公司 | 一种用于对开发资源进行自动化处理的方法及*** |
CN111190638B (zh) * | 2019-12-26 | 2024-03-08 | 航天信息股份有限公司企业服务分公司 | 一种用于对开发资源进行自动化处理的方法及*** |
CN113495748A (zh) * | 2020-03-18 | 2021-10-12 | 北京新能源汽车股份有限公司 | 一种汽车的电控软件集成控制方法、装置及服务器 |
CN113535219A (zh) * | 2020-04-15 | 2021-10-22 | 武汉斗鱼鱼乐网络科技有限公司 | 一种app信息发布方法、装置、介质及计算机设备 |
CN113535219B (zh) * | 2020-04-15 | 2023-12-01 | 北京世标认证中心有限公司 | 一种app信息发布方法、装置、介质及计算机设备 |
CN112083927A (zh) * | 2020-07-06 | 2020-12-15 | 宁波三星医疗电气股份有限公司 | 现场获取电力采集终端内软件svn版本信息的方法 |
CN112083927B (zh) * | 2020-07-06 | 2023-06-30 | 宁波三星医疗电气股份有限公司 | 现场获取电力采集终端内软件svn版本信息的方法 |
CN112015454A (zh) * | 2020-10-22 | 2020-12-01 | 蘑菇车联信息科技有限公司 | ***升级包的生成方法、装置、电子设备及存储介质 |
CN112269688A (zh) * | 2020-10-29 | 2021-01-26 | 四川虹美智能科技有限公司 | 异地灾备***及方法 |
CN112328217A (zh) * | 2020-11-03 | 2021-02-05 | 中国平安人寿保险股份有限公司 | 一种代码部署方法、装置、***、计算机设备和介质 |
CN112929449A (zh) * | 2021-03-10 | 2021-06-08 | 深圳创维-Rgb电子有限公司 | Ota升级包的编译方法、***及计算机可读存储介质 |
CN113138790A (zh) * | 2021-05-14 | 2021-07-20 | 广东九联科技股份有限公司 | Android机顶盒客制化集成方法、装置及机顶盒集成开发*** |
CN113138790B (zh) * | 2021-05-14 | 2023-11-10 | 广东九联科技股份有限公司 | Android机顶盒客制化集成方法、装置及机顶盒集成开发*** |
CN115951929A (zh) * | 2022-12-28 | 2023-04-11 | 广州宇中网络科技有限公司 | 一种第三方库源代码管理方法 |
CN115951929B (zh) * | 2022-12-28 | 2024-03-19 | 广州宇中网络科技有限公司 | 一种第三方库源代码管理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103294514A (zh) | ***软件版本集成方法、编译服务器及*** | |
CN105389222B (zh) | 一种动态调用原生接口的方法、装置和*** | |
CN105100191A (zh) | 一种云编译实现Java应用安装的方法、装置及*** | |
CN106610839B (zh) | 发布升级包的方法、轻量升级方法、装置及*** | |
CN111198744A (zh) | 自动化应用程序容器化和镜像备份发布的方法 | |
US20130311985A1 (en) | Updating Web Resources | |
CN103902696A (zh) | 一种加载资源文件的方法及装置 | |
CN103259936B (zh) | 移动终端操作***升级方法及其装置 | |
CN106371881B (zh) | 一种用于服务器内程序版本更新的方法和*** | |
CN108196878A (zh) | 应用程序安装包的生成方法、装置、电子设备及存储介质 | |
CN104699511B (zh) | 插件升级方法及装置 | |
CN105468427A (zh) | 一种自动编译和发布的实现方法及*** | |
US20170262263A1 (en) | Process and system for the generation of an operating program in the form of a mobile application that is capable of operating on a mobile device | |
CN111045717B (zh) | 获取项目依赖包的方法、装置、计算机设备及存储介质 | |
WO2017041499A1 (zh) | 一种软件升级方法、***和计算机可读存储介质 | |
CN108345467B (zh) | 版本树文件的更新方法和装置 | |
CN110908670A (zh) | 一种自动发布服务的方法及装置 | |
CN110413292B (zh) | 应用程序的轻应用安装方法、移动终端及存储介质 | |
US9411618B2 (en) | Metadata-based class loading using a content repository | |
CN109032617B (zh) | 一种自动删除安装包的控制方法及控制装置 | |
CN109471799B (zh) | 一种需求环境的部署方法、装置、存储介质及终端 | |
CN110851151A (zh) | 预装应用的方法、装置、终端、服务器和存储介质 | |
CN109726104B (zh) | 移动终端的测试包生成方法、测试终端及存储介质 | |
CN105094787B (zh) | 企业互联网应用的处理方法及装置 | |
CN103561082A (zh) | 压缩请求的处理方法及服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130911 |
|
RJ01 | Rejection of invention patent application after publication |