一种移动应用自动化发布方法和系统
技术领域
本发明涉及一种移动应用自动化发布方法和系统,属于软件应用领域。
背景技术
随着智能手机的不断普及,以即时通讯等软件为代表的移动应用逐渐成为人们生活中不可分割的一部分。移动应用平台的碎片化成为了人们,尤其是开发者的无法回避的难题。移动应用平台的碎片化主要体现在两个方面,一方面是操作系统的碎片化,目前智能手机的主流操作系统包括Android(安卓)、iOS、Windows Phone等,每一种平台都对应不同类型的安装文件,这就迫使应用程序的开发者们不得不针对不同平台制作和发布不同类型的安装包;另一方面是发布平台的碎片化,以安卓为例,除了谷歌官方运营维护的GOOGLEPLAY应用发布系统(软件市场)外,市面上还有例如安卓市场、木蚂蚁等第三方的应用发布系统,以及软件开发商内部建立的软件测试发布平台等,一款新的移动应用完成后往往需要在多个应用发布系统分别发布。此外,频繁发布新的版本是移动平台应用的另一个特点。为此开发者在发布一款移动应用或者更新一个新版本时,不得不面临在数个平台上多次反复上传发布的问题。
另一方面,目前在发布应用时通常需要手动输入应用软件的特征信息,例如软件名称、版本号、应用图标等,而应用软件的安装文件本身通常已经直接包含了上述特征信息,在发布应用时再次输入将造成时间上的浪费。
发明内容
针对现有技术存在的上述问题,提出了本发明的技术方案。
基于本发明的第一个方面,提供了一种移动应用自动化发布方法,包括以下步骤:
步骤S10,识别安装包类型;
步骤S20,根据安装包类型,提取所述安装包对应的包含了特征信息的特征文件;
步骤S30,根据特征文件打包成极小安装包;
步骤S40,将极小安装包发送至服务端;
步骤S50,上传完整安装包至服务端。
优选地,步骤S50之后包括:
步骤S60,服务端对极小安装包进行解析,从而获取安装包的特征文件;
步骤S70,服务端根据所述特征文件和完整安装包,生成发布信息。
优选地,步骤S50之后包括:
步骤S60,服务端对极小安装包进行解析,从而获取安装包的特征文件;
步骤S80,服务端根据所述特征文件和完整安装包,打包成软件发布平台对应的发布格式,并发送至该软件发布平台。
优选地,步骤S10和步骤S20之间还包括:步骤S11,当客户端无法正常识别所述安装包的类型时,通过输入模块手动输入所述安装包的类型;步骤S20和步骤S30之间还包括:步骤S21,当客户端无法正常提取所述安装包的特征文件时,通过输入模块手动输入所述安装包的特征信息。
基于本发明的第二个方面,提供了一种移动应用自动化发布系统,包括:客户端,用于识别完整安装包类型,并根据类型提取对应的特征文件,根据特征文件制作极小安装包,并发送极小安装包和完整安装包至服务端;服务端,用于接收极小安装包和完整安装包,并从极小安装包中提取的特征文件,从而用于发布该安装包对应的软件。
优选地,所述客户端包括:类型识别模块,用于识别完整安装包的类型;特征文件提取模块,用于根据所述完整安装包的类型,提取对应的文件;极小安装包打包模块,用于根据所述特征文件,打包成极小安装包;客户端数据通信模块,用于发送极小安装包和完整安装包文件。
优选地,所述服务端包括:服务端数据通信模块,用于接收客户端发送的极小安装包和完整的安装文件;极小安装包解析模块,用于从极小安装包中提取所述完整安装包的特征信息。
优选地,所述服务端还包括:软件平台发布模块,用于根据极小安装包包含的特征信息和完整安装包,打包成软件平台发布对应的发布格式,并发送至该软件发布平台。
优选地,所述客户端和服务端采取CS或BS架构;所述客户端还包括:输入模块,用于当无法正常识别所述完整安装包的类型,或/和无法正常提取所述完整安装包的特征文件时,手动输入所述完整安装包的类型或/和特征信息;所述服务端还包括:发布模块,用于根据完整安装包和从极小安装包中提取的特征信息,生成供用户识别和下载的完整安装包的发布信息。
基于本发明的第三个方面,提供了一种移动应用自动化发布系统,包括:安装包识别模块,用于识别安装包类型;特征文件提取模块,用于根据安装包类型,提取所述安装包对应的包含了特征文件信息的特征文件;极小安装包打包模块,用于根据特征文件打包成极小安装包;极小安装包发送模块,用于将极小安装包发送至服务端;完整安装包发送模块,用于上传完整安装包至服务端。
本发明的有益效果:通过读取安装包的特征文件并最终完成自动生成发布应用,从而减少了手动操作,实现了方便快捷的一键式发布,节约了时间和人力;通过客户端识别安装包文件类型和读取对应的特征文件的功能,实现了不同类型安装包文件通过同一客户端发布的功能,降低了开发人员的学习成本;采取客户端、服务端的两层架构,或者客户端、服务端、软件发布平台的三层架构,可以支持包括第三方在内的多种发布平台,实现一次上传多方发布的便捷效果;同时当发布平台发生变化时,只需要服务端作出相应的修改,无需修改客户端,降低了维护的成本。
附图说明
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
图1所示为根据本发明第一实施例的一种移动应用自动化发布系统的总体结构图;
图2所示为根据本发明第二实施例的一种移动应用自动化发布系统的总体结构图;
图3所示为根据本发明第三实施例的一种移动应用自动化发布方法的流程图;
图4所示为根据本发明第三实施例的一种移动应用自动化发布方法的客户端的详细流程图;
图5所示为根据本发明第三实施例的一种移动应用自动化发布方法的服务端的详细流程图。
具体实施方式
参考图1,根据本发明的第一实施例的一种移动应用自动化发布系统,该系统包括用于识别移动应用的安装包类型,并根据安装包类型,提取对应的包含了特征信息的特征文件,根据特征文件打包成极小安装包,并将极小安装包和完整安装包发送至服务端的客户端;用于接收极小安装包和完整安装包,并从极小安装包中提取的特征文件,从而用于发布该安装包对应的软件的服务端。
其中,在本实施例中客户端与服务端采取了BS架构,通过浏览器实现客户端的功能,当客户端需要修改时,只需要在服务器上作出一次修改即可,从而降低了维护和更新成本。此外,采用客户端与服务端也可以改用CS架构。当改用CS架构时,客户端采用软件终端的形式可以提高运行的效率。
客户端包括类型识别模块、特征文件提取模块、极小安装包制作模块、客户端数据通信模块和输入模块。其中,类型识别模块用于识别完整安装包的类型,示例性的可以通过读取所述完整安装包的后缀名实现,例如读取完整安装包的后缀名为.APK,则该完整安装包为安卓平台类型的安装包。
特征文件提取模块在获取完整安装包的类型后,用于根据所述完整安装包的类型,提取对应的特征文件。示例性的,当所述完整安装包为安卓安装包时,提取所述完整安装包的安卓安装包配置文件。通过读取该文件中记录的版本号等字段的信息,即可获得所述完整安装包的特征信息,上述特征信息可以包括软件名、版本号、图标、生成日期等。
当客户端当无法正常识别所述完整安装包的类型,或/和无法正常提取所述完整安装包的特征文件时,通过输入模块手动输入所述完整安装包的类型和所述平台或/和特征信息。
极小安装包制作模块根据特征文件提取模块或所述输入模块获得的特征文件或特征信息,制作发往服务端的可以识别的极小安装包,所述极小安装包包括了所述完整安装包的特征信息,还可以包括所完整安装包的类型和附加信息,示例性的,附加信息包括哈希值等校验信息和完整安装包的文件大小。
客户端数据通信模块用于与服务端连接,并将极小安装包及完整安装包发送给服务端。
服务端包括服务端数据通信模块,极小安装包解析模块和发布模块。其中服务端数据通信模块和客户端连接,可以实现和复数个客户端通信。极小安装包解析模块收到服务端数据通信模块接收的极小安装包后,从所述极小安装包中提取所述完整安装包的特征信息,以及例如安装包的哈希值等附加信息,从而用于发布该移动应用时使用。发布模块,用于根据完整安装包和从极小安装包中提取的特征信息,生成供用户识别和下载的完整安装包的发布信息。示例性的,发布信息包括移动应用的名称、版本号、制作时间、图标、支持操作系统的类型和版本、完整安装包的文件大小、以及完整安装包的下载链接。
本实施例的具体运行方式与后述本发明第三实施例基本相同,故予以省略。
参考图2,根据本发明的第二实施例的一种移动应用自动化发布系统,基本结构与本发明的第一实施例相同,其特征在于,服务端还包括软件平台发布模块,用于根据极小安装包包含的特征信息和完整安装包,打包成多种软件平台发布对应的发布格式,并发送至该软件发布平台。发布格式可以是文件的形式,也可以是对应软件发布平台发布格式的提交表单。其中软件发布平台可以是发明人自己设计的软件内部发布测试平台,也可以是第三方提供的公开发布平台。示范性的,软件发布平台采用Google Play、安卓市场和Appstore。可以实现从客户端一次发布,经过服务端处理后自动在多个软件发布平台上同时发布的功能,省去了需要多次手工发布的烦恼,极大地提供了工作效率。
本实施例的具体运行方式与后述本发明第三实施例基本相同,故予以省略。
参考图3和图4,根据本发明的第三实施例的一种移动应用自动化发布方法,包括以下步骤:
客户端首先通过内置的类型识别模块和特征文件提取模块识别待发布的移动应用安装包的类型,并从中提取对应的特征文件,示例性的可以根据安装包的后缀名识别其类型,当后缀名为.APK时,则识别为安卓安装包,并从安卓安装文件对应位置的提取特征文件,例如可以通过读取安卓安装包中的AndroidManifest.xml文件的versionName字段获取该安装包软件的版本号等特征信息;当后缀名为.IPA时,则识别为iOS安装包,并从iOS安装文件对应位置的提取特征文件;当为其他后缀名时,则需要用户通过所述客户端的输入模块手动输入该移动应用安装包的特征信息。
客户端通过极小安装包制作模块,根据上一个步骤获得的完整安装包的特征文件或特征信息打包成极小安装包,再通过客户端数据通信模块将极小安装包发送至服务端。此外,所述极小安装包还可以包括特征信息以外的附加信息,例如所述完整安装包的哈希值和生成时间等。最后客户端数据通信模块上传完整安装包至服务端。
参考图5,服务端通过服务端数据通信模块接收所述极小安装包和完整安装包,利用极小安装包解析模块从所述极小安装包中获得所述完整安装包的特征信息以及附加信息。根据上述特征信息决定发布方式。例如利用服务端的发布模块,根据特征信息和完整安装包生成发布信息。发布信息包括移动应用的名称、版本号、制作时间、图标、支持操作系统的类型和版本、完整安装包的文件大小、以及完整安装包的下载链接。
根据预先设定,也可以通过软件平台发布模块,根据极小安装包包含的特征信息和完整安装包,打包成软件平台发布对应的发布格式,并发送至该软件发布平台。示例性的,移动应用的安装包为安卓安装包时,服务端根据安装包的特征信息分别生成用于发布安卓应用的GOOGLE PLAY和安卓市场发布平台对应的提交发布应用程序的表单,向上述两个发布平台推送发布所需信息和上传完整安装包。
以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,都应属于本发明的保护范围。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。