源码管理系统、应用程序管理方法及装置与流程

文档序号:11261837阅读:160来源:国知局
源码管理系统、应用程序管理方法及装置与流程

本发明涉及应用程序管理领域,具体而言,涉及一种源码管理系统、应用程序管理方法及装置。



背景技术:

目前,测试人员、开发人员和产品人员使用待测试或待发行的android应用的一般流程为:源码转换成android安装包(androidpackage,apk)包后,把apk包发给不同的人员使用,使用者一般通过扫描二维码或者用usb数据线将手机和电脑连接后下载安装。当安装时,如果使用者本地已经安装了该应用,需先手动卸载,再执行安装。该流程较多人工操作,获取安装包的方式过于复杂,效率非常低。



技术实现要素:

本发明的目的在于提供一种源码管理系统、应用程序管理方法及装置,以解决上述的问题。

第一方面,本发明实施例提供的一种应用程序管理方法,包括:获取应用程序源码,根据所述应用程序源码生成应用程序安装包; 响应测试端发送的应用程序请求指令,将所述应用程序安装包发送至所述测试端以进行安装。

第二方面,本发明实施例还提供了一种应用程序管理装置,包括:获取单元,用于获取应用程序源码,根据所述应用程序源码生成应用程序安装包;发送单元,用于响应测试端发送的应用程序请求指令,将所述应用程序安装包发送至所述测试端以进行安装。

第三方面,本发明实施例还提供了一种源码管理系统,包括:源码打包平台、开发端和测试端;所述开发端用于上传应用程序源码;所述源码打包平台用于获取所述开发端上传的应用程序源码,根据所述应用程序源码生成应用程序安装包;所述源码打包平台还用于响应测试端发送的应用程序请求指令,将所述应用程序安装包发送至所述测试端以进行安装。

本发明实施例中,由源码打包平台获取应用程序开发者开发的应用程序源码,测试端安装有应用安装包管理程序,测试人员、开发人员和产品人员通过应用安装包管理程序能够在源码打包平台上下载所需要的应用程序安装包,即源码打包平台在获取到测试端发送的应用程序请求指令后,根据应用程序请求指令所包含的所需的应用程序安装包的名称或者版本号等信息将应用程序安装包发送至测试端,测试端将应用程序安装包进行安装。

与现有技术的测试人员、开发人员和产品人员使用待测试或待发行的android应用时,通过扫描二维码或者用usb数据线将手机和电脑连接后下载安装应用程序所带来的操作过于复杂的缺陷相比,本发明实施例提供的应用程序管理方法只需要在测试端安装一个安装包管理应用程序等具有发送下载请求至源码打包平台、展示源码打包平台上存在的所有安装包并且从源码打包平台上下载安装包功 能的功能组件,测试人员、开发人员和产品人员就通过操作测试端从源码打包平台上下载由源码打包平台打包上传的应用程序安装包,省去了测试人员、开发人员和产品人员每次安装应用程序时都需要去扫描二维码或者通过通用串行总线(universalserialbus,usb)连接电脑去下载并安装的麻烦,大大提高了整个应用程序的开发和测试效率。

本发明的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本发明较佳实施例提供的本发明应用场景的示意图;

图2示出了本发明较佳实施例提供的一种应用程序管理方法的流程图;

图3示出了本发明较佳实施例提供的另一种应用程序管理方法的流程图;

图4示出了本发明较佳实施例提供的另一种应用程序管理方法的流程图;

图5示出了本发明较佳实施例提供的一种应用程序管理装置的功能模块示意图;

图6示出了本发明较佳实施例提供的另一种应用程序管理装置的功能模块示意图;

图7示出了本发明较佳实施例提供的一种源码管理系统的功能模块示意图。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

如图1所示,是本发明较佳实施例的应用场景示意图,本发明应用在应用程序(application,app)的内部测试阶段,开发端103、测试端101和源码打包平台102均位于内部测试的网络内。开发端103为应用程序开发人员所使用的操作终端,用来开发应用程序源 码并将源码上传到网络,源码打包平台102用于从网络上获取应用程序源码,其中,获取的方式可以是实时地自动获取。例如,在网络上有一个存储系统,开发端103上传的应用程序源码存放在存储系统内,源码打包平台102能够从存储系统内自动获取应用程序源码,并进行打包。

测试端101为测试人员、开发人员和产品人员所使用的客户端,所述开发端103和测试端101均可以是个人电脑(personalcomputer,pc)、平板电脑、智能手机、个人数字助理(personaldigitalassistant,pda)等。优选地,所述开发端103为个人电脑,所述测试端101为智能手机。

请参阅图2,是本发明较佳实施例提供的一种应用于图1所示的应用场景的应用程序管理方法,图2所示的方法为源码打包平台102为执行主体的方法流程,所述方法包括:

步骤s201:获取应用程序源码,根据所述应用程序源码生成应用程序安装包;

源码打包平台102由网络上获取开发端103上传的应用程序源码,具体地,通过对源码打包平台102的设置,使源码打包平台102实时地自动地由网络上获取应用程序源码。本发明实施例中,所述的网络为应用程序的内部开发或测试时所使用的局域网络。

源码打包平台102将应用程序源码打包成应用程序安装包的过程可以是利用源码打包平台102安装的打包脚本以及签名文件将源码打包成应用程序安装包,其中,打包脚本是一个apk打包工具。例如,采用androidassetpackagingtool(aappt)打包工具将源码打包成apk格式的应用程序安装包。

步骤s202:响应测试端发送的应用程序请求指令,将所述应用程序安装包发送至所述测试端以进行安装。

测试端101能够访问源码打包平台102内的数据,获得源码打包平台102内所有安装包的信息。例如,测试端101浏览源码打包平台102的安装包的浏览界面上显示了不同名称、版本的应用程序安装包,使用者操作测试端101,在浏览界面上点击欲下载的应用程序安装包的下载按钮。其中,下载按钮对应一个下载路径,指向源码打包平台102内。此时,测试端101发送一个应用程序请求指令至源码打包平台102,其中,应用程序请求指令包括欲下载的应用程序安装包的名称、版本号,源码打包平台102根据应用程序请求指令将应用程序安装包发送至测试端101以进行安装。

需要说明的是,上述源码打包平台102可以为一个具有数据处理和存储功能的终端。此时,应用程序安装包以及应用程序安装包对应的所有信息均存储在源码打包平台的数据库内,源码打包平台102由本地数据库内获取应用程序安装包并发送至测试端。

当然,上述源码打包平台102也可以由数据处理终端和服务器构成。此时,数据处理终端能够获得开发端上传的应用程序源码并进行打包,将应用程序安装包发送至服务器以进行存储。服务器用于响应测试端发送的应用程序请求指令,将所述应用程序安装包发送至所述测试端以进行安装。

另外,考虑到源码打包平台102上管理多个应用程序安装包,为了便于源码打包平台102对安装包的管理以及便于测试端101的下载,源码打包平台102需要为应用程序安装包配置一个标识;再者,考虑到测试端101在下载应用程安装包时,可能需要下载不同版本的应用程序,因此源码打包平台102需要具备将不同版本的应 用程序安装包提供给测试端101并将测试端101所需版本的应用程序安装包发送给测试端101的功能。

因此,在图2的基础上,本发明还提供了另一种应用程序管理方法,请参阅图3,是本发明较佳实施例提供的一种应用于图1所示的应用场景的应用程序管理方法,图3所示的方法为源码打包平台102为执行主体的方法流程,所述方法包括:

步骤s301:获取应用程序源码,根据所述应用程序源码生成应用程序安装包;

步骤s302:生成与所述应用程序安装包对应的标识,将所述应用程序安装包与所述标识对应存储;

源码打包平台102为应用程序安装包配置一个标识,并将标识与应用程序安装包对应存储。于本发明实施例中,所述标识可以是统一资源定位符(uniformresourcelocator,url),源码打包平台102按照预设的格式为应用程序安装包配置url,其中,预设的格式可以为图1所示的网络内规定的域名以及通用的格式等。

步骤s303:生成包括所述应用程序安装包的版本信息的所述应用程序安装包的描述信息;

应用程序安装包的描述信息包括应用程序安装包的版本信息以及应用程序安装包的功能描述等信息,源码打包平台102将应用程序安装包的描述信息与应用程序安装包对应存储在数据库内,并为应用程序安装包的url匹配一个指向数据库的下载路径。

步骤s304:响应所述应用程序请求指令,为所述测试端提供不同版本的应用程序安装包的标识以及描述信息;

于本发明实施例中,所述测试端101为智能终端,例如,手机,测试端101上安装有安装包管理应用程序,测试端101请求下载源 码打包平台102上的某一个应用程序。例如,使用者通过测试端101输入应用程序的名称a,源码打包平台102提供出不同版本的应用程序a的下载地址,其中,下载地址中包含应用程序a的标识。进一步地,可以在测试端101的安装包管理应用程序的浏览窗口内将应用程序a的所有版本以及所有版本的下载地址显示出,用户点击所需版本的应用程序a。

步骤s305:根据测试端发送的包括所需版本的应用程序安装包的标识的请求查找到所述所需版本的应用程序安装包,将所查找到的应用程序安装包发送至所述测试端以进行安装;

测试端101选择所需版本的应用程序a的下载按钮,会访问一个下载地址,其中,源码打包平台由下载地址所指向的数据库的位置内将下载地址对应的应用程序取出,发送给测试端101。

请参阅图4,是本发明较佳实施例提供的一种应用于图1所示的应用场景的应用程序管理方法,图4所示的方法为源码打包平台102与测试端101之间的交互流程,所述方法包括:

步骤s401:源码打包平台获取应用程序源码,根据所述应用程序源码生成应用程序安装包;

步骤s402:源码打包平台生成与所述应用程序安装包对应的标识,将所述应用程序安装包与所述标识对应存储;

步骤s403:源码打包平台生成包括所述应用程序安装包的版本信息的所述应用程序安装包的描述信息;

步骤s401-s403的具体实施方式可参考前述实施例,在此不再赘述。

步骤s404:测试端发送应用程序请求指令至源码打包平台;

测试端101上安装有安装包管理应用程序,测试端101能够通过安装包管理应用程序与源码打包平台102交互。例如,使用者在安装包管理应用程序的搜索界面或搜索栏内输入需要下载的应用程序安装包的名称,测试端101将应用程序安装包的名称通过应用程序请求指令发送至源码打包平台102。

当然,上述过程也可以由安装包管理应用程序自动执行,即间隔一定的时间发送一次应用程序请求指令发送至源码打包平台102,以请求下载所需的应用程序安装包。

步骤s405:源码打包平台为测试端提供多个版本的应用程序安装包的下载地址;

源码打包平台102根据测试端101发送的应用程序请求指令中包含的应用程序安装包的名称提供不同版本的应用程序安装包,在测试端101的安装包管理应用程序的界面将不同版本的应用程序安装包展示出来,用户能够看到不同版本的应用程序安装包以及对应的文字说明等。

步骤s406:测试端下载所需版本的应用程序安装包;

使用者通过测试端101点击所需版本的应用程序安装包的下载按钮,发送一个下载请求至源码打包平台102,从而获得所需版本的应用程序安装包。

步骤s407:测试端系统是否已经获得最高管理权限;

不论测试端101的系统是windows、android还是ios都有一个最高的管理权限,能够直接对系统内的一些程序进行操作而无需经过用户的授权。于本发明实施例中,所述测试端101的系统是android,如果需要获取android的最高管理权限则需要对android系统进行root操作,测试端101上安装的安装包管理应用程序在由源码打包 平台102下载到所需的应用程序安装包后,会判断测试端101的操作系统是否已经root,若是,执行步骤s408。若不是,则执行步骤s409。

步骤s408:静默安装;

如果测试端101的操作系统已经root,则安装包管理应用程序卸载测试端101上已经安装的不同版本的应用程序安装包后再安装最新下载的应用程序安装包。如果是第一次安装应用程序安装包,则直接安装。

步骤s409:提示安装;

如果测试端101的操作系统没有root,则安装包管理应用程序下载完所需版本的应用程序安装包后,判断测试端101是否已经安装了所述应用程序。若是,弹出一个提示窗口,询问使用者是否同意先卸载测试端101上已经安装的版本的应用程序。当使用者点击同意卸载的按钮,从而测试端101的安装包管理应用程序获得卸载请求,安装包管理应用程序将测试端101内的旧版本的应用程序卸载。卸载完毕后,再弹出一个提示窗口,询问使用者是否同意安装最新下载的应用程序安装包,若使用者同意,则进行安装。

当然,上述的询问卸载与安装的过程,也可以在一个提示窗口中展示。例如,直接询问使用者是否同意卸载旧版本并安装新版本的应用程序安装包。

如果,测试端101内没安装任何版本的应用程序,而是第一次安装本版本的应用程序,则安装包管理应用程序直接弹出是否同意安装的提示窗口,在用户选择同意安装后,测试端101对安装包进行安装。

综上所述,与现有技术的测试人员、开发人员和产品人员使用待测试或待发行的android应用时,通过扫描二维码或者用usb数据线将手机和电脑连接后下载安装应用程序所带来的操作过于复杂的缺陷相比,本发明实施例提供的应用程序管理方法只需要在测试端101安装一个安装包管理应用程序等具有发送下载请求至源码打包平台102、展示源码打包平台102上存在的所有安装包并且从源码打包平台102上下载安装包功能的功能组件,测试人员、开发人员和产品人员就能通过操作测试端101从源码打包平台102上下载由源码打包平台102打包上传的应用程序安装包。省去了测试人员、开发人员和产品人员每次安装应用程序时都需要去扫描二维码或者通过usb数据线连接电脑去下载并安装的麻烦,大大提高了整个应用程序的开发和测试效率。

另外,测试端101能够由源码打包平台102上同时获得不同版本的应用程序安装包。与现有技术中,测试端101的使用者在需要安装旧版本的应用程序时,可能需要联系应用程序开发人员而带来的效率过于低下的缺陷相比,本发明实施例,测试端101能够同时获得多个版本的应用程序安装包,选择所需版本的应用程序安装包进行安装,进一步提高了应用程序的开发和测试效率。

再者,由源码打包平台102统一获得开发人员上传的源码并进行打包,即方便统一管理又减去了开发人员对源码打包的麻烦。

需要说明的是,当上述源码打包平台102由数据处理终端和服务器时,数据处理终端能够获得开发端上传的应用程序源码并进行打包,为应用程序安装包生成标识、版本信息以及描述信息。将应用程序安装包以及应用程序安装包的标识、版本信息和描述信息发送至服务器。由服务器响应测试端的请求将不同版本的应用程序安 装包提供给测试端,并根据测试端所选择下载版本的应用程序安装包,将所需版本的应用程序安装包发送至测试端。

请参阅图5,本发明较佳实施例提供的应用于图1的应用场景的一种应用程序管理装置的模块框图,如图5所示,应用程序管理装置501包括:获取单元502和发送单元503。

其中,获取单元502用于获取应用程序源码,根据所述应用程序源码生成应用程序安装包,发送单元503用于响应测试端504发送的应用程序请求指令,将所述应用程序安装包发送至所述测试端504以进行安装。

应用程序管理装置的一种工作流程如下:由获取单元502在获取开发者开发的应用程序的源码后进行打包,将所述应用程序源码生成应用程序安装包。在接收到测试端504的应用程序请求指令后,将测试端504需要下载安装的应用程序安装包通过发送单元503发送给测试端504以进行安装。

另外,考虑到源码打包平台上管理多个应用程序安装包,为了便于源码打包平台对安装包的管理以及便于测试端的下载,源码打包平台需要为应用程序安装包配置一个标识;再者,考虑到测试端在下载应用程安装包时,可能需要下载不同版本的应用程序,因此源码打包平台需要具备将不同版本的应用程序安装包提供给测试端并将测试端所需版本的应用程序安装包发送给测试端的功能。

因此,在图5的基础上,本发明还提供了另一种应用程序管理装置的模块框图,请参阅图6,本发明较佳实施例提供的应用于图1的应用场景的一种应用程序管理装置的模块框图,如图6所示,应用程序管理装置601包括:获取单元602、标识生成单元603和发 送单元604。其中,发送单元604包括版本信息提供子单元6041和查找子单元6042。

其中,获取单元602用于获取应用程序源码,根据所述应用程序源码生成应用程序安装包,标识生成单元603用于生成与所述应用程序安装包对应的标识。

版本信息提供子单元6041用于根据所述应用程序请求指令为所述测试端605提供不同版本的应用程序安装包的标识以及描述信息在所述测试端605显示,其中,所述应用程序安装包的描述信息包括所述应用程序安装包的版本信息。

查找子单元6042用于根据所述测试端605发送的包括所需版本的应用程序安装包的标识的请求查找到所述所需版本的应用程序安装包,将所查找到的应用程序安装包发送至所述测试端605以进行安装。

应用程序管理装置的一种工作流程如下:源码打包平台601的标识生成单元603还能够为应用程序安装包设置一个标识,例如url。应用程序安装包还包括描述信息,而描述信息包括应用程序安装包的版本信息或功能描述等信息。源码打包平台在接收到应用程序请求指令后,由版本信息提供子单元6041将测试端605欲下载的安装应用程序安装包的名称对应的所有版本都提供给测试端605的使用者。具体的提供方式可以是在测试端605的安装包管理应用程序上显示所有版本的应用程序安装包以及对应的下载地址,在测试端605反馈欲下载版本的应用程序安装包。由查找子单元6042根据所述测试端605发送的所需版本的应用程序安装包的标识查找到所述所需版本的应用程序安装包,将所查找到的应用程序安装包发送至所述测试端605以进行安装。

请参阅图7,本发明实施例还提供了一种源码管理系统,包括:源码打包平台702、开发端701和测试端703。其中,开发端701用于上传应用程序源码,源码打包平台702用于获取所述开发端701上传的应用程序源码,根据所述应用程序源码生成应用程序安装包,响应测试端703发送的应用程序请求指令,将所述应用程序安装包发送至所述测试端703以进行安装。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等, 均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1