CN104346167B - 生成应用渠道包的方法及装置 - Google Patents

生成应用渠道包的方法及装置 Download PDF

Info

Publication number
CN104346167B
CN104346167B CN201410421600.5A CN201410421600A CN104346167B CN 104346167 B CN104346167 B CN 104346167B CN 201410421600 A CN201410421600 A CN 201410421600A CN 104346167 B CN104346167 B CN 104346167B
Authority
CN
China
Prior art keywords
application
installation package
package file
file
identities
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.)
Active
Application number
CN201410421600.5A
Other languages
English (en)
Other versions
CN104346167A (zh
Inventor
王余云
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201410421600.5A priority Critical patent/CN104346167B/zh
Publication of CN104346167A publication Critical patent/CN104346167A/zh
Application granted granted Critical
Publication of CN104346167B publication Critical patent/CN104346167B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明公开了一种生成应用渠道包的方法及装置,属于移动互联网领域。所述方法包括:获取初始应用安装包文件;向该初始应用安装包文件的指定区域中写入应用分发平台的标识信息,得到对应的应用渠道包,所述指定区域不会导致所述初始应用安装包文件的原始校验信息失效。所述装置包括:第一获取模块和写入模块。本发明无需应用开发者针对不同的应用分发平台手动地生成应用渠道包,提高了应用渠道包的生成效率。另外,由于应用渠道包是直接在应用分发平台中生成的,所以,也无需应用开发者手动生成应用渠道包之后再手动进行上传,操作简单,应用分发平台也省下了大量沟通和管理成本,提高了应用分发的效率。

Description

生成应用渠道包的方法及装置
技术领域
本发明涉及移动互联网领域,特别涉及一种生成应用渠道包的方法及装置。
背景技术
随着互联网的快速发展,出现了越来越多的应用。应用开发者为了扩大应用的下载量和激活量,往往借助应用分发平台(如应用宝、手机助手)来进行分发和推广。然而,在应用分发平台进行分发和推广之前,需要将该应用的APK(Android Application Package,安卓应用安装包)文件进行打包,生成应用渠道包。后续用户可以从该应用分发平台下载该应用渠道包进行安装。
目前,当应用开发者对应用分发平台上推广的应用开发出新功能时,生成最新版本的APK文件,该APK文件中可以包括AndroidManifest.xml(程序全局配置)文件,在该AndroidManifest.xml文件中配置有渠道名称。当应用开发者向应用分发平台分发和推广该应用时,应用开发者通过ant脚本,将AndroidManifest.xml文件中的渠道名称的属性值替换为该应用分发平台的渠道标识。最后,通过ant脚本,将该APK文件进行打包,生成应用渠道包。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
由于上述生成应用渠道包的过程是由应用开发者手动完成的,且当该应用分发到多个应用分发平台时,应用开发者需要按照上述方法手动地生成多个应用渠道包,降低了应用渠道包的生成效率。另外,生成应用渠道包之后,应用开发者还需要手动地将应用渠道包上传到对应的应用分发平台,然而,当应用分发平台不支持应用开发者上传时还需要应用分发平台的管理员进行人工上传,操作繁琐,极大地降低了应用分发的效率。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种生成应用渠道包的方法及装置。所述技术方案如下:
一方面,提供了一种生成应用渠道包的方法,所述方法包括:
获取初始应用安装包文件;
向所述初始应用安装包文件的指定区域中写入应用分发平台的标识信息,得到对应的应用渠道包,所述指定区域不会导致所述初始应用安装包文件的校验信息失效。
另一方面,提供了一种生成应用渠道包的装置,所述装置包括:
第一获取模块,用于获取初始应用安装包文件;
写入模块,用于向所述初始应用安装包文件的指定区域中写入应用分发平台的标识信息,得到对应的应用渠道包,所述指定区域不会导致所述初始应用安装包文件的校验信息失效。
在本发明实施例中,开发者只需将初始应用安装包文件上传到应用分发平台中。应用分发平台可以自动地向该初始应用安装包文件的指定区域中写入应用分发平台的标识信息,得到应用渠道包。无需应用开发者针对不同的应用分发平台手动地生成应用渠道包,提高了应用渠道包的生成效率。另外,由于应用渠道包是直接在应用分发平台中生成的,所以,也无需应用开发者手动生成应用渠道包之后再手动进行上传,操作简单,提高了应用分发的效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种生成应用渠道包的架构图;
图2是本发明实施例提供的一种生成应用渠道包的方法流程图;
图3是本发明实施例提供的另一种生成应用渠道包的方法流程图;
图4是本发明实施例提供的一种生成应用渠道包的装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1是本发明实施例提供的一种生成渠道包的***架构图。图1中包括开发者对应的第二终端、应用服务器、应用分发平台和用户对应的第一终端。应用服务器为开发者开发的应用对应的服务器,且第二终端与应用服务器之间通过网络连接,第二终端与应用分发平台之间通过网络连接,应用分发平台与第一终端之间通过网络连接。当开发者开发出新版本的应用安装包文件时,应用开发者通过第二终端可以将该新版本的应用安装包文件存储到应用服务器中,另外,还可以上传到应用分发平台,该应用分发平台基于该新版本的应用安装包文件生成对应的应用渠道包,并将该应用渠道包在该应用分发平台对应的客户端中进行展示,以推广该应用。其中,当第一终端中安装该应用分发平台对应的客户端时,第一终端可以通过该客户端向应用分发平台发送下载请求,以从该应用分发平台下载该应用渠道包,基于该应用渠道包安装该应用。另外,在本发明实施例中,还可以将图1中的应用分发平台划分为包管理服务器、内容管理服务器和渠道包生成服务器,且包管理服务器、内容管理服务器和渠道包生成服务器可以为不同的服务器,也可以为同一服务器上不同的功能模块。本发明实施例对此不做具体限定。
图2是本发明实施例提供的一种生成应用渠道包的方法流程图。该方法的执行主体为应用分发平台。参见图2,该方法包括:
步骤201:获取初始应用安装包文件。
步骤202:向初始应用安装包文件的指定区域中写入应用分发平台的标识信息,得到对应的应用渠道包,指定区域不会导致初始应用安装包文件的校验信息失效。
在本发明实施例中,开发者只需将初始应用安装包文件上传到应用分发平台中。应用分发平台可以自动地向该初始应用安装包文件中写入应用分发平台的标识信息,得到应用渠道包。无需应用开发者针对不同的应用分发平台手动地生成应用渠道包,提高了应用渠道包的生成效率。另外,由于应用渠道包是直接在应用分发平台中生成的,所以,也无需应用开发者手动生成应用渠道包之后再手动进行上传,操作简单,提高了应用分发的效率。
可选地,获取初始应用安装包文件,包括:
监听文件上传请求,该文件上传请求中携带应用标识、应用版本信息和应用安装包文件;
根据该应用标识和该应用版本信息,判断该应用安装包文件是否为新版本的应用安装包文件;
如果该应用安装包文件为新版本的应用安装包文件,则将该文件上传请求携带的应用安装包文件获取为初始应用安装包文件。
可选地,根据该应用标识和该应用版本信息,判断该应用安装包文件是否为新版本的应用安装包文件,包括:
根据该应用标识,从存储的应用标识与应用版本信息之间的对应关系中查找对应的应用版本信息;
如果查找到对应的应用版本信息,且查找到的应用版本信息低于该应用版本信息,则确定该应用安装包文件为新版本的应用安装包文件;
如果没有查找到对应的应用版本信息,则确定该应用安装包文件为新版本的应用安装包文件。
可选地,获取初始应用安装包文件,包括:
监听应用服务器中存储的应用标识与应用版本信息之间的对应关系中的应用版本信息是否变化;
如果存在发生变化的应用版本信息,则向所述应用服务器发送获取请求,所述获取请求中携带发生变化的应用版本信息对应的应用标识,使所述应用根据所述获取请求中携带的应用标识,从存储的应用标识与应用安装包文件之间的对应关系中获取对应的应用安装包文件;
当接收到所述应用服务器发送的应用安装包文件时,将接收的应用安装包文件确定为初始应用安装包文件。
可选地,向该初始应用安装包文件中写入应用分发平台的标识信息,得到对应的应用渠道包之后,还包括:
根据该初始应用安装包文件对应的应用标识,从存储的应用标识与存储路径之间的对应关系中查找对应的存储路径;
如果查找到对应的存储路径,则将该存储路径下存储的应用渠道包替换为生成的应用渠道包;
如果没有查找到对应的存储路径,则根据该初始应用安装包文件对应的应用标识,生成对应的存储路径;
将生成的应用渠道包存储在生成的存储路径下。
可选地,向该初始应用安装包文件中写入应用分发平台的标识信息,得到对应的应用渠道包之后,还包括:
获取该应用渠道包的属性信息,该属性信息包括该初始应用安装包文件对应的应用标识、该应用渠道包的应用版本信息、渠道包名称和地址信息;
根据该初始应用安装包文件对应的应用标识和该属性信息,对存储的应用标识与属性信息之间的对应关系中对应的属性信息进行更新。
可选地,该方法还包括:
接收第一终端发送的下载请求,该下载请求中携带目标应用的地址信息,;
从该地址信息中获取该目标应用的应用标识;
根据该目标应用的应用标识,从存储的应用标识与存储路径之间的对应关系中获取对应的存储路径;
将该存储路径下存储的应用渠道包发送给该第一终端,使该第一终端基于该应用渠道包安装该目标应用。
上述所有可选技术方案,均可按照任意结合形成本发明的可选实施例,在此不再一一赘述。
图3是本发明实施例提供的另一种生成应用渠道包的方法流程图。在本发明实施例中,将应用分发平台划分为包管理服务器、内容管理服务器和渠道包生成服务器来进行说明。参见图3,该方法包括:
步骤301:第二终端向包管理服务器发送上传文件请求,该上传文件请求中携带应用标识、应用版本信息和应用安装包文件。
其中,第二终端为开发者对应的终端,第二终端可以基于开发者开发出的新代码,生成应用安装包文件。
其中,应用标识为应用分发平台事先为该应用分配的,且该应用标识可以为该应用的名称、应用编号等。应用版本信息可以包括该应用的版本号、该应用的图标等。应用安装包文件可以为在应用分发平台中已推广的应用的新版本应用安装包文件,还可以是首次在该应用分发平台进行推广的应用的应用安装包文件,本发明实施例对此均不做具体限定。
步骤302:当包管理服务器接收到上传文件请求时,该包管理服务器存储该应用标识与应用版本信息之间的对应关系,以及存储应用标识与应用安装包文件之间的对应关系。
具体地,当包管理服务器接收到该上传文件请求时,包管理服务器根据该应用标识,从存储的应用标识与应用版本信息之间的对应关系中查找对应的应用版本信息。如果查找到对应的应用版本信息,则将查找的应用版本信息替换为该上传文件请求中携带的应用版本信息。如果没有查找到对应的应用版本信息,则在应用标识与应用版本信息之间的对应关系中创建一条新目录,并将该上传文件请求中携带的应用标识和应用版本信息存储在该新目录中。同理,包管理服务器根据该应用标识,从存储的应用标识与应用安装包文件之间的对应关系中查找对应的应用安装包文件。如果查找到对应的应用安装包文件,则将查找的应用安装包文件替换为该上传文件请求中携带的应用安装包文件。如果没有查找到对应的应用安装包文件,则在应用标识与应用安装包文件之间的对应关系中创建一条新目录,并将该上传文件请求中携带的应用标识与应用安装包文件存储在该新目录中。
其中,根据上述方法,在包管理服务器中只存储每个应用的最新版本的应用安装包文件以及应用版本信息,可以减轻包管理服务器的负担。
其中,当包生成服务器确定该文件上传请求中携带的应用安装包文件为新版本的应用安装包文件时,向渠道包生成服务器发送通知请求。
步骤303:渠道包生成服务器获取初始应用安装包文件。
具体地,在本发明实施例中,渠道包生成服务器可以通过两种方式获取初始应用安装包文件,包括:
第一种方式,包管理服务器监听接收的文件上传请求,并根据该文件上传请求中携带的应用标识和应用版本信息,判断该文件上传请求中携带的应用安装包文件是否为新版本的应用安装包文件。如果该文件上传请求中携带的应用安装包文件为新版本的应用安装包文件,则向渠道包生成服务器发送通知请求。当渠道包生成服务器接收到该通知请求时,该渠道包生成服务器将该文件上传请求中携带的应用安装包文件获取为初始应用安装包文件。
其中,包管理服务器根据该文件上传请求中携带的应用标识和应用版本信息,判断该文件上传请求中携带的应用安装包文件是否为新版本的应用安装包文件,包括:包管理服务器根据该文件上传请求中携带的应用标识,从存储的应用标识与应用版本信息之间的对应关系中查找对应的应用版本信息。如果查找到对应的应用版本信息,且查找到的应用版本信息低于该文件上传请求中携带的应用版本信息,则确定该文件上传请求中携带的应用安装包文件为新版本的应用安装包文件。如果没有查找到对应的应用版本信息,则确定该文件上传请求中携带的应用安装包文件为新版本的应用安装包文件。
需要说明的是,如果包管理服务器没有查找到对应的应用版本信息,则确定该文件上传请求中携带的应用安装包文件为首次在该应用分发平台进行推广的应用对应的应用安装包文件,即该新应用以前没有在该应用分发平台进行推广。
其中,该渠道包生成服务器将该文件上传请求中携带的应用安装包文件获取为初始应用安装包文件的具体操作可以为:渠道包生成服务器向包管理服务器发送第二获取请求,第二获取请求中携带该应用标识,该应用标识为该上传文件请求中携带的应用标识。当包管理服务器接收到第二获取请求,该包管理服务器根据该应用标识,从存储的应用标识与应用安装包文件之间的对应关系中获取对应的应用安装包文件。将获取的应用安装包文件发送给渠道包生成服务器,渠道包生成服务器将该应用安装包文件确定为初始应用安装包文件。
其中,第一种方式是开发者主动通过文件上传请求将新版本的应用安装包文件上传到包管理服务器中,第二种方式是包管理服务器主动从开发者对应的应用服务器中获取新版本的应用安装包文件。
第二种方式,包管理服务器监听应用服务器中存储的应用标识与应用版本信息之间的对应关系中的应用版本信息是否变化。如果存在发生变化的应用版本信息,则包管理服务器向该应用服务器发送第一获取请求,第一获取请求中携带发生变化的应用版本信息对应的应用标识,使该应用服务器根据第一获取请求中携带的应用标识,从存储的应用标识与应用安装包文件之间的对应关系中获取对应的应用安装包文件。当包管理服务器接收到该应用安装包文件时,向渠道包生成服务器发送通知请求。当渠道包生成服务器接收到该通知请求时,将包管理服务器接收的应用安装包文件确定为初始应用安装包文件。
其中,当包管理服务器接收到该应用安装包文件之后,包管理服务器存储应用标识与该应用安装包文件的对应关系。之后,渠道包生成服务器将包管理服务器接收的应用安装包文件确定为初始应用安装包文件的具体操作可以为:渠道包生成服务器向包管理服务器发送第一获取请求,第一获取请求中携带发生变化的应用版本信息对应的应用标识。当包管理服务器接收到第一获取请求时,包管理服务器根据发生变化的应用版本信息对应的应用标识,从存储的应用标识与应用安装包文件之间的对应关系中获取对应的应用安装包文件,并将获取的应用安装包文件发送给渠道包生成服务器。
其中,由于开发者开发出新版本的应用安装包文件之后,将该新版本的应用安装包文件存储在应用服务器中,进而会更新应用标识与应用版本信息之间的对应关系中对应的应用版本信息,所以,包管理服务器监听应用服务器中的应用标识与应用版本信息之间的对应关系中的应用版本信息,可以确定对应的应用安装包文件是否进行更新。当应用安装包文件进行更新时,可以从该应用服务中获取新版本的应用安装包文件,并使渠道包生成服务器基于该新版本的应用安装包文件生成对应的应用渠道包。
步骤304:渠道包生成服务器向该初始应用安装包文件的指定区域中写入应用分发平台的标识信息,得到对应的应用渠道包,指定区域不会导致该初始应用安装包文件的校验信息失效。
其中,在本发明实施例中,不仅可以通过ant脚本向该初始应用安装包文件的指定区域中写入应用分发平台的标识信息,还可以通过编程的方式向该初始应用安装包文件的指定区域中写入应用分发平台的标识信息,本发明实施例对此不做具体限定。
其中,该指定区域包括但不限于该初始应用安装包文件的注释区域,且该区域不受该初始应用安装包文件本身带有的校验信息校验,进而不会导致该初始应用安装包文件的校验信息失效。另外,应用分发平台的标识信息用于标识该应用分发平台,且该标识信息可以为该应用分发平台的名称,还可以为该应用分发平台的渠道号,本发明实施例对此不做具体限定。
其中,应用渠道包的档案格式可以基于但不限于ZIP格式、jar格式,优选地为ZIP格式(目前安卓安装包文件即apk文件是基于ZIP格式的)。ZIP格式可以分为压缩源文件数据区、压缩源文件目录区和压缩源文件目录结束标志。其中,压缩源文件目录结束标志中包括ZIP文件的注释区域,该注释区域的字段是不定长度的,所以,可以在该注释区域中写入足够长度的应用分发平台的标识信息。
由于应用渠道包想要在应用分发平台中上线并推广,必须要经过签名校验、MD5校验、病毒扫描、安全扫描、人工审核等多步流程。然而,利用本发明实施例提供的方法在注释区域中写入该应用分发平台的标识信息,通过实验证明,最终生成的应用渠道包完全可以通过上述严格的流程,说明利用本发明实施例提供的方法生成的应用渠道包与普通的应用渠道包的规格完全一样,可以实现与现有应用分发平台做到完全兼容。
进一步地,假如该初始应用安装包文件为APK文件,也即是,该初始应用安装包文件是应用于安卓操作***中的。由于安卓操作***上安装应用时需要进行签名校验,而签名校验的特点是同一个名称和签名的应用被视为同一个应用,可以更新升级,否则,被视为不同应用或者签名冲突,无法更新升级。然而,APK文件中打包了.dex文件、资源文件和AndroidManifest.xml文件,同时还通过数字签名将该APK文件中的所以文件牢牢地保护起来。如果第三方修改了APK文件中任一文件,就会导致APK文件中的内容与签名不匹配,安卓操作***在安装该应用时会解析APK文件并核对签名,这样APK文件会被拒绝安装。由于APK文件的格式其实就是ZIP格式,而ZIP文件包括注释区域,所以可以在APK文件内添加应用分发平台的标识信息。另外,APK文件的签名不是用来保护整个APK文件不被篡改的,而只保护APK文件内的所有文件不被篡改,所以,无法保护APK文件本身被篡改,只要遵循ZIP文件格式,不修改压缩源文件数据区和压缩源文件目录区的内容,则签名仍有效,可通过安卓操作***的APK文件的签名校验。
例如,一个应用的签名文件夹META-INF包括MANIFEST.MF文件、CERT.SF文件和CERT.RSA文件。MANIFEST.MF文件中存储了APK文件中所有文件生成的第一摘要的编码;CERT.SF文件中存储了对MANIFEST.MF文件的第二摘要和APK文件中所有文件生成的第一摘要进行再次摘要算法得到第三摘要,第三摘要也要进行编码;CERT.RSA文件中存储了CERT.SF文件的签名、RSA公钥和加密算法等信息,用于签名校验,且该文件为二进制格式。如果在APK文件的注释区域中添加该应用分发平台的标识信息,由于APK文件内的所有被保护文件的内容都没有发生变化,所以签名仍然有效,META-INF文件夹中的3个用于校验的文件也都不会发生变化,该APK文件可以在用户终端上正常安装、升级和运行。
其中,计算摘要时可以通过SHA1(Secure Hash Algorithm,安全哈希算法)进行计算,编码时也可以通过Base64编码,当然,还可以通过其他的算法计算摘要,以及进行编码,本发明实施例对此不做具体限定。
其中,生成应用渠道包之后,还需要将该应用渠道包存储在对应的存储路径下,方便后续用户对应的第一终端安装该应用时,可以迅速地查找到对应的应用渠道包。
步骤305:渠道包生成服务器将该应用渠道包发送给包管理服务器。
由于应用渠道包是存储在包管理服务中的,所以,当渠道包生成服务器生成应用渠道包之后,需要将该应用渠道包发送给包管理服务器。
步骤306:当包管理服务器接收到该应用渠道包时,根据初始应用安装包文件对应的应用标识,从存储的应用标识与存储路径之间的对应关系中查找对应的存储路径,如果查找到对应的存储路径,则执行步骤307,如果没有查找到对应的存储路径,则执行步骤308。
步骤307:包管理服务器将查找到的存储路径下存储的应用渠道包替换为生成的应用渠道包,执行步骤310。
其中,查找到的存储路径下存储的应用渠道包为该应用的旧版本应用安装包文件对应的旧应用渠道包,此时,可以将该旧应用渠道包替换为生成的应用渠道包,即新版本的应用安装包文件对应的新应用渠道包。
步骤308:包管理服务器根据该初始应用安装包文件对应的应用标识,生成对应的存储路径。
其中,在本发明实施例中,包管理服务器可以根据该初始应用安装包文件对应的应用标识,拼接应用渠道包对应的存储路径,即应用渠道包对应的存储路径中包括该初始应用安装包文件对应的应用标识。只要获知该应用渠道包对应的存储路径,则可以直接在该存储路径中提取到该初始应用安装包文件对应的应用标识。例如,该初始应用安装包文件对应的应用标识为ID1,此时,可以根据该应用标识ID1,拼接该应用渠道包对应的存储路径为D:/apk/ID1。
步骤309:包管理服务器将生成的应用渠道包存储在生成的存储路径下,执行步骤310。
步骤310:包管理服务器获取该应用渠道包的属性信息,属性信息包括该初始应用安装包文件对应的应用标识、该应用渠道包的应用版本信息、渠道包名称和地址信息。
其中,该应用渠道包的应用版本信息可以与初始应用安装包文件的应用版本信息相同,也可以不同。比如,当应用版本信息中包括应用版本号、应用图标时,应用渠道包的版本号可以与初始应用安装包文件的版本号相同,也可以不同。应用渠道包的图标可以与初始应用安装包文件的图标相同,也可以不同。
其中,地址信息为包管理服务器为该应用生成的地址信息,且该地址信息也是根据该初始应用安装包文件的应用标识拼接而成的,且该地址信息可以为该应用渠道包的URL(Uniform Resoure Locator,统一资源定位符),当然,还可以为其他的地址信息,只要客户端可以根据该地址信息查找到对应的应用渠道包即可,本发明实施例对此不做具体限定。
需要补充说明的是,在本发明实施例中,属性信息不仅可以包括上述的信息,还可以包括其他的信息,比如,存储路径等。本发明实施例对此不做具体限定。
步骤311:包管理服务器向内容管理服务器发送更新请求,该更新请求中携带该初始应用安装包文件对应的应用标识和该属性信息。
其中,内容服务器中存储每个被推广的应用的属性信息,并将该属性信息推送给应用分发平台对应的客户端。所以,当包管理服务器接收到初始应用安装包文件对应的应用渠道包之后,包管理服务器向内容管理服务器发送更新请求。
步骤312:当内容管理服务器接收到该更新请求时,内容管理服务器根据该初始应用安装包文件对应的应用标识和属性信息,对存储的应用标识与属性信息之间的对应关系中对应的属性信息进行更新。
具体地,当内容管理服务器接收到该更新请求时,内容管理服务器根据该初始应用安装包文件对应的应用标识,从存储的应用标识与属性信息之间的对应关系中查找对应的属性信息。如果查找到对应的属性信息,则将查找的属性信息替换为该更新请求中携带的属性信息。如果没有查找到对应的属性信息,则在应用标识与属性信息之间的对应关系中创建一条新目录,并将该更新请求中携带的应用标识与属性信息存储在该新目录中。
进一步地,当内容管理服务器更新应用标识与属性信息之间的对应关系中的属性信息之后,内容管理服务器可以将更新的属性信息推送给应用分发平台对应的客户端。该客户端更新显示的属性信息。
其中,当用户通过该应用分发平台对应的客户端安装目标应用时,具体地安装过程为:接收第一终端发送的下载请求,该下载请求中携带目标应用的地址信息。从该地址信息中获取目标应用的应用标识。根据目标应用的应用标识,从存储的应用标识与存储路径之间的对应关系中获取对应的存储路径。将获取的存储路径下存储的应用渠道包发送给第一终端,使第一终端基于该应用渠道包安装该目标应用。
具体地,内容管理服务器接收第一终端发送的下载请求,该下载请求中携带目标应用的地址信息。内容管理服务器将该下载请求发送给包管理服务器。当包管理服务器接收到该下载请求时,包管理服务器从该地址信息中获取目标应用的应用标识,并根据目标应用的应用标识,从存储的应用标识与存储路径之间的对应关系中获取对应的存储路径。然后,将获取的存储路径下存储的应用渠道包发送给第一终端。当第一终端接收到该应用渠道包时,对该应用渠道包进行签名校验,并在校验无误后基于应用渠道包安装该目标应用。
进一步地,当第一终端安装该目标应用之后,如果第一终端首次运行该目标应用,第一终端获取该应用渠道包内的应用分发平台的标识信息。第一终端向该应用对应的应用服务器发送下载量更新请求,该下载量更新请求中携带该应用分发平台的标识信息。当该应用服务器接收到该下载量更新请求时,该应用服务器根据该应用分发平台的标识信息,更新标识信息与下载量之间的对应关系中的对应的下载量。
其中,该应用服务器根据该应用分发平台的标识信息,更新标识信息与下载量之间的对应关系中的对应的下载量的具体操作可以为:该应用服务器根据该应用分发平台的标识信息,从存储的标识信息与下载量之间的对应关系中获取对应的下载量。增加获取的下载量,并将标识信息与下载量之间的对应关系中该标识信息对应的下载量替换为增加后的下载量。
其中,增加获取的下载量的具体操作可以为:将获取的下载量增加1。
需要补充说明的是,第一终端不仅可以通过上述方法向应用服务器上报该目标应用的下载量,还可以通过上述方法向应用服务器上报该目标应用的激活量等等,这些统计数值用于应用开发者与平台进行推广费用对账和结算参考,本发明实施例对此不一一进行阐述。
另外,该应用渠道包中还可以包括该应用分发平台的一些定制信息,比如,可以在运行该应用时显示该应用分发平台的Logo等。此时,第一终端需要根据该应用分发平台的标识信息,从该应用渠道包中的资源文件中获取对应的定制信息,并显示获取的定制信息。其中,该资源文件中可以存储应用分发平台的标识信息与定制信息之间的对应关系。本发明实施例对此不进行详细的阐述。
在本发明实施例中,开发者只需将初始应用安装包文件上传到包管理服务器中。渠道包生成服务器可以自动地从包管理服务器中获取初始应用安装包文件,向该初始应用安装包文件中写入应用分发平台的标识信息,得到应用渠道包。无需应用开发者针对不同的应用分发平台手动地生成应用渠道包,提高了应用渠道包的生成效率。另外,由于应用渠道包是直接在应用分发平台中生成的,所以,也无需应用开发者手动生成应用渠道包之后再手动进行上传,操作简单,提高了应用分发的效率。
图4是本发明实施例的提供的一种生成应用渠道包的装置结构示意图。参见图4,该装置包括:第一获取模块401和写入模块402;
第一获取模块401,用于获取初始应用安装包文件;
写入模块402,用于向该初始应用安装包文件的指定区域中写入应用分发平台的标识信息,得到对应的应用渠道包,该指定区域不会导致该初始应用安装包文件的校验信息失效。
可选地,第一获取模块401包括:
第一监听单元,用于监听文件上传请求,该文件上传请求中携带应用标识、应用版本信息和应用安装包文件;
判断单元,用于根据该应用标识和该应用版本信息,判断该应用安装包文件是否为新版本的应用安装包文件;
第一获取单元,将用于如果该应用安装包文件为新版本的应用安装包文件,则将该文件上传请求携带的应用安装包文件获取为初始应用安装包文件。
可选地,判断单元包括:
查找子单元,用于根据该应用标识,从存储的应用标识与应用版本信息之间的对应关系中查找对应的应用版本信息;
第一确定子单元,用于如果查找到对应的应用版本信息,且查找到的应用版本信息低于该应用版本信息,则确定该应用安装包文件为新版本的应用安装包文件;
第二确定子单元,用于如果没有查找到对应的应用版本信息,则确定该应用安装包文件为新版本的应用安装包文件。
可选地,第一获取模块401包括:
第二监听单元,用于监听应用服务器中存储的应用标识与应用版本信息之间的对应关系中的应用版本信息是否变化;
第二获取单元,用于如果存在发生变化的应用版本信息,则向应用服务器发送第一获取请求,第一获取请求中携带发生变化的应用版本信息对应的应用标识,使应用服务器根据第一获取请求中携带的应用标识,从存储的应用标识与应用安装包文件之间的对应关系中获取对应的应用安装包文件;
确定单元,用于当接收到应用服务器发送的应用安装包文件时,将接收的应用安装包文件确定为初始应用安装包文件。
可选地,该装置还包括:
查找模块,用于根据该初始应用安装包文件对应的应用标识,从存储的应用标识与存储路径之间的对应关系中查找对应的存储路径;
替换模块,用于如果查找到对应的存储路径,则将该存储路径下存储的应用渠道包替换为生成的应用渠道包;
生成模块,用于如果没有查找到对应的存储路径,则根据该初始应用安装包文件对应的应用标识,生成对应的存储路径;
存储模块,用于将生成的应用渠道包存储在生成的存储路径下。
可选地,该装置还包括:
第二获取模块,用于获取该应用渠道包的属性信息,该属性信息包括该初始应用安装包文件对应的应用标识、该应用渠道包的应用版本信息、渠道包名称和地址信息;
更新模块,用于根据该初始应用安装包文件对应的应用标识和该属性信息,对存储的应用标识与属性信息之间的对应关系中对应的属性信息进行更新。
可选地,该装置还包括:
接收模块,用于接收第一终端发送的下载请求,该下载请求中携带目标应用的地址信息,;
第三获取模块,用于从该地址信息中获取该目标应用的应用标识;
第四获取模块,用于根据该目标应用的应用标识,从存储的应用标识与存储路径之间的对应关系中获取对应的存储路径;
发送模块,用于将该存储路径下存储的应用渠道包发送给该第一终端,使该第一终端基于该应用渠道包安装该目标应用。
在本发明实施例中,开发者只需将初始应用安装包文件上传到应用分发平台中。应用分发平台可以自动地向该初始应用安装包文件中写入应用分发平台的标识信息,得到应用渠道包。无需应用开发者针对不同的应用分发平台手动地生成应用渠道包,提高了应用渠道包的生成效率。另外,由于应用渠道包是直接在应用分发平台中生成的,所以,也无需应用开发者手动生成应用渠道包之后再手动进行上传,操作简单,提高了应用分发的效率。
需要说明的是:上述实施例提供的生成应用渠道包的装置在生成应用渠道包时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的生成应用渠道包的装置与生成应用渠道包的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (14)

1.一种生成应用渠道包的方法,其特征在于,所述方法包括:
获取初始应用安装包文件,所述初始应用安装包文件为ZIP格式的文件;
向所述初始应用安装包文件的注释区域中写入应用分发平台的标识信息,得到对应的应用渠道包,所述注释区域不会导致所述初始应用安装包文件的校验信息失效。
2.如权利要求1所述的方法,其特征在于,所述获取初始应用安装包文件,包括:
监听文件上传请求,所述文件上传请求中携带应用标识、应用版本信息和应用安装包文件;
根据所述应用标识和所述应用版本信息,判断所述应用安装包文件是否为新版本的应用安装包文件;
如果所述应用安装包文件为新版本的应用安装包文件,则将所述文件上传请求携带的应用安装包文件获取为初始应用安装包文件。
3.如权利要求2所述的方法,其特征在于,所述根据所述应用标识和所述应用版本信息,判断所述应用安装包文件是否为新版本的应用安装包文件,包括:
根据所述应用标识,从存储的应用标识与应用版本信息之间的对应关系中查找对应的应用版本信息;
如果查找到对应的应用版本信息,且查找到的应用版本信息低于所述应用版本信息,则确定所述应用安装包文件为新版本的应用安装包文件;
如果没有查找到对应的应用版本信息,则确定所述应用安装包文件为新版本的应用安装包文件。
4.如权利要求1所述的方法,其特征在于,所述获取初始应用安装包文件,包括:
监听应用服务器中存储的应用标识与应用版本信息之间的对应关系中的应用版本信息是否变化;
如果存在发生变化的应用版本信息,则向所述应用服务器发送第一获取请求,所述第一获取请求中携带发生变化的应用版本信息对应的应用标识,使所述应用服务器根据所述第一获取请求中携带的应用标识,从存储的应用标识与应用安装包文件之间的对应关系中获取对应的应用安装包文件;
当接收到所述应用服务器发送的应用安装包文件时,将接收的应用安装包文件确定为初始应用安装包文件。
5.如权利要求1-4任一权利要求所述的方法,其特征在于,所述向所述初始应用安装包文件中写入应用分发平台的标识信息,得到对应的应用渠道包之后,还包括:
根据所述初始应用安装包文件对应的应用标识,从存储的应用标识与存储路径之间的对应关系中查找对应的存储路径;
如果查找到对应的存储路径,则将所述存储路径下存储的应用渠道包替换为生成的应用渠道包;
如果没有查找到对应的存储路径,则根据所述初始应用安装包文件对应的应用标识,生成对应的存储路径;
将生成的应用渠道包存储在生成的存储路径下。
6.如权利要求1-4任一权利要求所述的方法,其特征在于,所述向所述初始应用安装包文件中写入应用分发平台的标识信息,得到对应的应用渠道包之后,还包括:
获取所述应用渠道包的属性信息,所述属性信息包括所述初始应用安装包文件对应的应用标识、所述应用渠道包的应用版本信息、渠道包名称和地址信息;
根据所述初始应用安装包文件对应的应用标识和所述属性信息,对存储的应用标识与属性信息之间的对应关系中对应的属性信息进行更新。
7.如权利要求1-4任一权利要求所述的方法,其特征在于,所述方法还包括:
接收第一终端发送的下载请求,所述下载请求中携带目标应用的地址信息;
从所述地址信息中获取所述目标应用的应用标识;
根据所述目标应用的应用标识,从存储的应用标识与存储路径之间的对应关系中获取对应的存储路径;
将所述存储路径下存储的应用渠道包发送给所述第一终端,使所述第一终端基于所述应用渠道包安装所述目标应用。
8.一种生成应用渠道包的装置,其特征在于,所述装置包括:
第一获取模块,用于获取初始应用安装包文件,所述初始应用安装包文件为ZIP格式的文件;
写入模块,用于向所述初始应用安装包文件的注释区域中写入应用分发平台的标识信息,得到对应的应用渠道包,所述注释区域不会导致所述初始应用安装包文件的校验信息失效。
9.如权利要求8所述的装置,其特征在于,所述第一获取模块包括:
第一监听单元,用于监听文件上传请求,所述文件上传请求中携带应用标识、应用版本信息和应用安装包文件;
判断单元,用于根据所述应用标识和所述应用版本信息,判断所述应用安装包文件是否为新版本的应用安装包文件;
第一获取单元,将用于如果所述应用安装包文件为新版本的应用安装包文件,则将所述文件上传请求携带的应用安装包文件获取为初始应用安装包文件。
10.如权利要求9所述的装置,其特征在于,所述判断单元包括:
查找子单元,用于根据所述应用标识,从存储的应用标识与应用版本信息之间的对应关系中查找对应的应用版本信息;
第一确定子单元,用于如果查找到对应的应用版本信息,且查找到的应用版本信息低于所述应用版本信息,则确定所述应用安装包文件为新版本的应用安装包文件;
第二确定子单元,用于如果没有查找到对应的应用版本信息,则确定所述应用安装包文件为新版本的应用安装包文件。
11.如权利要求8所述的装置,其特征在于,所述第一获取模块包括:
第二监听单元,用于监听应用服务器中存储的应用标识与应用版本信息之间的对应关系中的应用版本信息是否变化;
第二获取单元,用于如果存在发生变化的应用版本信息,则向所述应用服务器发送第一获取请求,所述第一获取请求中携带发生变化的应用版本信息对应的应用标识,使所述应用服务器根据所述第一获取请求中携带的应用标识,从存储的应用标识与应用安装包文件之间的对应关系中获取对应的应用安装包文件;
确定单元,用于当接收到所述应用服务器发送的应用安装包文件时,将接收的应用安装包文件确定为初始应用安装包文件。
12.如权利要求8-11任一权利要求所述的装置,其特征在于,所述装置还包括:
查找模块,用于根据所述初始应用安装包文件对应的应用标识,从存储的应用标识与存储路径之间的对应关系中查找对应的存储路径;
替换模块,用于如果查找到对应的存储路径,则将所述存储路径下存储的应用渠道包替换为生成的应用渠道包;
生成模块,用于如果没有查找到对应的存储路径,则根据所述初始应用安装包文件对应的应用标识,生成对应的存储路径;
存储模块,用于将生成的应用渠道包存储在生成的存储路径下。
13.如权利要求8-11任一权利要求所述的装置,其特征在于,所述装置还包括:
第二获取模块,用于获取所述应用渠道包的属性信息,所述属性信息包括所述初始应用安装包文件对应的应用标识、所述应用渠道包的应用版本信息、渠道包名称和地址信息;
更新模块,用于根据所述初始应用安装包文件对应的应用标识和所述属性信息,对存储的应用标识与属性信息之间的对应关系中对应的属性信息进行更新。
14.如权利要求8-11任一权利要求所述的装置,其特征在于,所述装置还包括:
接收模块,用于接收第一终端发送的下载请求,所述下载请求中携带目标应用的地址信息;
第三获取模块,用于从所述地址信息中获取所述目标应用的应用标识;
第四获取模块,用于根据所述目标应用的应用标识,从存储的应用标识与存储路径之间的对应关系中获取对应的存储路径;
发送模块,用于将所述存储路径下存储的应用渠道包发送给所述第一终端,使所述第一终端基于所述应用渠道包安装所述目标应用。
CN201410421600.5A 2014-08-25 2014-08-25 生成应用渠道包的方法及装置 Active CN104346167B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410421600.5A CN104346167B (zh) 2014-08-25 2014-08-25 生成应用渠道包的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410421600.5A CN104346167B (zh) 2014-08-25 2014-08-25 生成应用渠道包的方法及装置

Publications (2)

Publication Number Publication Date
CN104346167A CN104346167A (zh) 2015-02-11
CN104346167B true CN104346167B (zh) 2018-05-08

Family

ID=52501861

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410421600.5A Active CN104346167B (zh) 2014-08-25 2014-08-25 生成应用渠道包的方法及装置

Country Status (1)

Country Link
CN (1) CN104346167B (zh)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104199656A (zh) * 2014-08-27 2014-12-10 广州金山网络科技有限公司 一种定制信息添加方法及装置
CN104978530B (zh) * 2015-03-12 2018-09-04 腾讯科技(深圳)有限公司 一种应用安全管理方法、装置、服务器以及***
CN104754062B (zh) * 2015-04-16 2018-03-23 腾讯科技(北京)有限公司 基于互联网的信息推广方法、服务器及用户终端
CN104899025A (zh) * 2015-05-18 2015-09-09 北京奇虎科技有限公司 一种生成渠道包的方法和装置
CN105242953A (zh) * 2015-11-24 2016-01-13 魅族科技(中国)有限公司 一种应用更新的提示方法及装置
CN105516299A (zh) * 2015-12-04 2016-04-20 北京卓易讯畅科技有限公司 安装文件打包方法和装置以及安装文件分发方法和***
CN106897049A (zh) * 2015-12-21 2017-06-27 五八同城信息技术有限公司 一种安装包的打包方法和装置
CN106911738A (zh) * 2015-12-22 2017-06-30 北京奇虎科技有限公司 一种生成应用推广安装包的方法和服务器
CN106959968A (zh) * 2016-01-12 2017-07-18 广州市动景计算机科技有限公司 网站图标推广方法及装置
CN105760202B (zh) * 2016-03-14 2019-05-03 广州爱九游信息技术有限公司 服务器、计算设备、软件压缩包处理装置及方法
CN105955774A (zh) * 2016-04-29 2016-09-21 乐视控股(北京)有限公司 软件升级的控制方法和装置
CN106375095A (zh) * 2016-09-02 2017-02-01 中科信息安全共性技术国家工程研究中心有限公司 一种对apk完整性保护的方法
CN106534365B (zh) * 2016-12-16 2020-02-21 广州四三九九信息科技有限公司 一种确定渠道信息的方法和设备
CN108280341B (zh) * 2016-12-30 2020-06-30 腾讯科技(深圳)有限公司 渠道号添加、安装包校验方法及装置
CN106843962A (zh) * 2017-01-19 2017-06-13 北京乐盟互动科技有限公司 一种应用打包方法及装置
CN107247584A (zh) * 2017-05-11 2017-10-13 北京潘达互娱科技有限公司 应用安装包打包方法及装置
CN107346248B (zh) * 2017-07-04 2020-11-13 北京像素软件科技股份有限公司 平台标识方法及装置
CN107844518B (zh) * 2017-09-30 2021-05-07 北京房江湖科技有限公司 评估指定app下载量的方法、数据服务器、打包平台及***
CN108415725A (zh) * 2018-03-01 2018-08-17 深圳市创梦天地科技有限公司 渠道应用包制作装置、方法、电子设备以及存储介质
CN108874429B (zh) * 2018-07-20 2022-06-03 珠海宏桥高科技有限公司 一种Android***一体化自动打包方法
CN109495271A (zh) * 2018-10-19 2019-03-19 北京梆梆安全科技有限公司 比较apk文件方法、装置、服务器及其存储介质
CN111078223B (zh) * 2018-10-22 2021-09-28 腾讯科技(深圳)有限公司 一种应用程序的打包方法及装置
CN109558164A (zh) * 2018-11-21 2019-04-02 北京小米移动软件有限公司 安卓安装包打包方法及装置、电子设备、可读存储介质
CN110377331B (zh) * 2019-07-22 2023-10-13 腾讯科技(深圳)有限公司 发布应用程序的监控方法、装置、设备及存储介质
CN110377333A (zh) * 2019-07-24 2019-10-25 上海游民网络科技有限公司 一种应用安装包文件处理方法及***
CN110990073B (zh) * 2019-11-13 2023-09-29 北京城市网邻信息技术有限公司 一种验证应用程序的定制需求的方法及装置
CN113014533B (zh) * 2019-12-20 2022-11-08 北京金山云网络技术有限公司 校验文件的处理方法、装置及***、存储介质、电子装置
CN111274552A (zh) * 2020-01-07 2020-06-12 惠州市德赛西威汽车电子股份有限公司 一种升级包的签名及验签方法、存储介质
CN114253432B (zh) * 2020-09-11 2023-09-08 腾讯科技(深圳)有限公司 应用渠道包的投放方法及***
CN112131224B (zh) * 2020-09-25 2024-04-23 广州虎牙科技有限公司 应用安装包的处理及安装来源确定方法、装置及溯源***
CN113094121B (zh) * 2021-04-30 2023-03-10 腾讯科技(成都)有限公司 一种数据处理方法、设备以及计算机可读存储介质
CN113885884A (zh) * 2021-08-31 2022-01-04 上海二三四五网络科技有限公司 一种自动校验渠道包信息的控制方法以及控制装置
CN113992655B (zh) * 2021-10-26 2024-07-02 陕西绝顶人峰网络科技有限公司 一种软件分包方法、***及计算机存储介质
CN114500515B (zh) * 2022-02-16 2024-07-12 厦门市安杰云网络有限公司 基于cdn边缘计算网络的apk动态改写方法及***

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103019708A (zh) * 2012-11-30 2013-04-03 北京奇虎科技有限公司 用于发布软件的方法和***
CN103139279A (zh) * 2011-12-05 2013-06-05 阿里巴巴集团控股有限公司 文件访问方法和***
CN103577762A (zh) * 2012-07-23 2014-02-12 北京掌汇天下科技有限公司 一种渠道标记***及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090260004A1 (en) * 2008-04-10 2009-10-15 Palm, Inc. Computer program updates for mobile computing device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103139279A (zh) * 2011-12-05 2013-06-05 阿里巴巴集团控股有限公司 文件访问方法和***
CN103577762A (zh) * 2012-07-23 2014-02-12 北京掌汇天下科技有限公司 一种渠道标记***及方法
CN103019708A (zh) * 2012-11-30 2013-04-03 北京奇虎科技有限公司 用于发布软件的方法和***

Also Published As

Publication number Publication date
CN104346167A (zh) 2015-02-11

Similar Documents

Publication Publication Date Title
CN104346167B (zh) 生成应用渠道包的方法及装置
US11974204B2 (en) Method for sharing application between terminals, and terminal
CN107346252B (zh) 应用更新方法和装置
CN102830992B (zh) 插件加载方法及***
KR101150041B1 (ko) 델타 압축 패칭을 이용하여 파일을 업데이트하기 위한시스템 및 방법
US20130247024A1 (en) System, method, and computer program product for populating a list of known wanted data
CN104052818B (zh) 一种移动终端的版本升级方法及装置
CN105391717A (zh) 一种apk签名认证方法及其***
CN106201607A (zh) 一种软件版本的升级方法及设备
CN111008034B (zh) 一种补丁生成方法及装置
CN104219198B (zh) 一种WebApp的防篡改方法
KR20130012929A (ko) 데이터 패키지의 효율적인 다운로드 방법 및 시스템
CN104573435A (zh) 用于终端权限管理的方法和终端
WO2019080110A1 (zh) 一种 apk 签名认证方法及***
CN107239299B (zh) 插件升级方法及装置
CN105279436A (zh) 软件更新方法及***
CN112579125B (zh) 一种固件升级方法、装置、电子设备和存储介质
CN106709281B (zh) 补丁发放和获取方法、装置
CN104504587A (zh) 广告监测方法及装置、电子设备
CN107391507B (zh) 移动端页面的更新方法和装置
WO2017124736A1 (zh) 一种升级异常信息的传输方法、设备和***
CN109445815A (zh) 一种智能卡及其应用升级方法
CN113961226B (zh) 一种软件开发工具包修复方法、终端、服务器及设备
CN108121552B (zh) 一种基于XenServer的自动化补丁方法
Cappos et al. Package management security

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant