CN103177077A - 一种apk文件的存储及输出方法 - Google Patents

一种apk文件的存储及输出方法 Download PDF

Info

Publication number
CN103177077A
CN103177077A CN2013100059034A CN201310005903A CN103177077A CN 103177077 A CN103177077 A CN 103177077A CN 2013100059034 A CN2013100059034 A CN 2013100059034A CN 201310005903 A CN201310005903 A CN 201310005903A CN 103177077 A CN103177077 A CN 103177077A
Authority
CN
China
Prior art keywords
apk file
variable
file bag
server
apk
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
Application number
CN2013100059034A
Other languages
English (en)
Other versions
CN103177077B (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.)
Xuzhou Guanghai Technology Co ltd
Original Assignee
HANGZHOU NO IMAGE TECHNOLOGY 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 HANGZHOU NO IMAGE TECHNOLOGY Co Ltd filed Critical HANGZHOU NO IMAGE TECHNOLOGY Co Ltd
Priority to CN201310005903.4A priority Critical patent/CN103177077B/zh
Publication of CN103177077A publication Critical patent/CN103177077A/zh
Application granted granted Critical
Publication of CN103177077B publication Critical patent/CN103177077B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种APK文件的存储及输出方法。它包括以下步骤:A.将一个APK文件拆分成固定APK文件包和可变APK文件包;B.对固定APK文件包和可变APK文件包进行签名处理并存储在服务器上;C.根据用户需求对可变APK文件包的内容进行修改,将修改后生成的新可变APK文件包进行签名并存储在服务器上,在服务器上保留原有可变APK文件包;D.根据用户请求将固定APK文件包和相应的可变APK文件包按APK文件格式组合成一个APK文件输出到用户终端。本发明对一个APK文件进行微小修改时,只对可变APK文件包进行修改并签名,减少服务器运算时间,且将签名后的新可变APK文件包单独存储,节省存储空间。

Description

一种APK文件的存储及输出方法
技术领域
本发明涉及Android平台下的文件处理技术领域,尤其涉及一种APK文件的存储及输出方法。
背景技术
Android平台的应用都被打包为APK格式,APK是Android Package的缩写。有时根据业务需求,需要对原有版本Android应用软件的APK文件进行微小修改生成该Android应用软件的不同版本以满足不同用户的需求。目前已知技术在处理这样的业务需求时,都是在原完整APK文件上进行修改并对整个修改后的APK文件重新签名,然后把完成签名的新的APK文件完整存储在服务器上,对整个APK文件进行重新签名的运算时间非常长,长达数十秒甚至超过一分钟。同时,新APK文件与原APK文件差异有时仅仅数十KB,却要对整个新APK文件完整的存储(平均一个APK有5MB),该Android应用软件的多个不同版本完整存储在服务器上,存储成本将会变得非常大。
中国专利公开号CN102346697,公开日2012年2月8日,发明的名称为一种安卓安装包的备份与恢复的方法、系统及移动终端,该申请案公开了一种安卓安装包的备份与恢复的方法、系统及移动终端,它包括以下步骤:在终端备份已安装的安卓安装包APK时,查询所述APK在使用的过程中的关联数据;将原始APK 文件和所述APK在使用的过程中的关联数据一起备份至服务器或外部存储设备。其不足之处是,该方法对存在微小差异的Android应用软件的不同版本备份时,需对每个版本Android应用软件完整的存储,不能差异化存储,占用了大量存储空间。
发明内容
本发明的目的是克服现有APK文件完整存储在服务器上,当根据业务需求对APK文件进行微小修改后,需对整个新APK文件重新签名,消耗服务器大量运算时间,且签名后的新APK文件完整存储在服务器上,占用大量服务器空间的技术问题,提供了一种APK文件的存储及输出方法,其将APK文件分为固定APK文件包和可变APK文件包分开存储在服务器上,当根据业务需求对APK文件进行微小修改时,只对可变APK文件包进行修改并签名,减少服务器运算时间,且将签名后的新可变APK文件包单独存储,节省了存储空间。
为了解决上述问题,本发明采用以下技术方案予以实现:
一种APK文件的存储及输出方法,包括以下步骤:
A.   将一个Android应用软件的APK文件拆分成由不能改动的内容组成的固定APK文件包和由可以根据需要改动的内容组成的可变APK文件包;
B.    对固定APK文件包和可变APK文件包分别进行签名处理,并将完成签名处理的固定APK文件包和可变APK文件包分别存储在服务器上;
C.   当需要对原有版本Android应用软件的APK文件进行修改生成该Android应用软件的不同版本以满足不同用户的需求时,对原有版本Android应用软件的可变APK文件包的内容进行修改,对修改完成后生成的新可变APK文件包进行签名处理,接着将完成签名处理的新可变APK文件包存储在服务器上,同时在服务器上保留原有可变APK文件包;
D.   服务器监控用户发送的请求信息,当接收到请求信息时,服务器将固定APK文件包以及与该请求信息相对应的可变APK文件包按APK文件格式组合成一个APK文件输出到用户终端。
在本技术方案中,将一个Android应用软件的APK文件拆分成不能改动的固定APK文件包和可以改动的可变APK文件包,固定APK文件包内的内容为该Android应用软件的不能修改的部分,可变APK文件包内的内容为该Android应用软件的可以根据用户要求进行修改的部分。接着,将固定APK文件包和可变APK文件包分别进行签名处理后分开存储在服务器上。有时由于业务需求需要对该Android应用软件进行若干种不同的修改生成该Android应用软件的若干个版本,由于该Android应用软件的所有版本都必须具有同样的固定APK文件包,所以只需对原有可变APK文件包进行若干种修改即可。
为了生成该Android应用软件的一个版本而对原有可变APK文件包进行修改时,先将原有可变APK文件包复制,再对复制的可变APK文件包进行相应修改,最后将修改后生成的新可变APK文件包签名并单独存储在服务器上。该Android应用软件的一个版本可由固定APK文件包和一个修改后生成的新可变APK文件包组合而成。这样每次生成该Android应用软件的一个版本时只需对生成的新可变APK文件包签名,避免了原先对整个该版本Android应用软件(包括固定APK文件包内容和对应新可变APK文件包内容)进行签名,减少服务器运算时间。
最后服务器上只存有固定APK文件包和若干个可变APK文件包,每个固定APK文件包和一个可变APK文件包可以组成该Android应用软件的一个版本,避免了原先在服务器上将该Android应用软件的不同版本分别完整存储,节省了存储空间。
作为优选,所述步骤C中对原有可变APK文件包进行修改包括以下步骤:
S1.复制原有可变APK文件包,并将复制的可变APK文件包解压缩;
S2.对可变APK文件包解压缩后的文件内容进行修改操作;
S3.将完成修改的文件内容压缩打包成新可变APK文件包。
作为优选,所述固定APK文件包在服务器上只存储有一个,每个版本Android应用软件都只有一个对应的可变APK文件包存储在服务器上。节省服务器存储空间。
作为优选,所述服务器上设有反应每种请求信息与其对应的可变APK文件包之间关系的映射表,当用户发送请求信息时,服务器在映射表中查出该请求信息对应的可变APK文件包,将该可变APK文件包和固定APK文件包组合成一个APK文件输出到用户终端。便于服务器对可变APK文件包的管理。
作为优选,所述每种请求信息包含有唯一的识别符ID。服务器根据识别符ID判断请求信息的种类。
本发明的实质性效果是:将APK文件分为固定APK文件包和可变APK文件包分开存储在服务器上,当根据业务需求对APK文件进行微小修改时,只对可变APK文件包进行修改并签名,减少服务器运算时间,且将签名后的新可变APK文件包单独存储,节省了存储空间。
附图说明
图1是本发明的一种流程图。
具体实施方式
下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。
实施例:本实施例的一种APK文件的存储及输出方法,如图1所示,包括以下步骤:
A.将一个Android应用软件的APK文件拆分成由不能改动的内容组成的固定APK文件包和由可以根据需要改动的内容组成的可变APK文件包;
B.对固定APK文件包和可变APK文件包分别进行签名处理,并将完成签名处理的固定APK文件包和可变APK文件包分别存储在服务器上;
C.当需要对原有版本Android应用软件的APK文件进行修改生成该Android应用软件的不同版本以满足不同用户的需求时,复制原有版本Android应用软件的可变APK文件包,并将复制的可变APK文件包解压缩,对可变APK文件包解压缩后的文件内容进行修改操作,将完成修改的文件内容压缩打包成新可变APK文件包,对新可变APK文件包进行签名处理,接着将完成签名处理的新可变APK文件包存储在服务器上,同时在服务器上保留原有可变APK文件包;
D.服务器监控用户发送的请求信息,当接收到请求信息时,服务器将固定APK文件包以及与该请求信息相对应的可变APK文件包按APK文件格式组合成一个APK文件输出到用户终端。
将一个Android应用软件的APK文件拆分成不能改动的固定APK文件包和可以改动的可变APK文件包,固定APK文件包内的内容为该Android应用软件的不能修改的部分,可变APK文件包内的内容为该Android应用软件的可以根据用户要求进行修改的部分。接着,将固定APK文件包和可变APK文件包分别进行签名处理后分开存储在服务器上。有时由于业务需求需要对该Android应用软件进行多种不同的微小修改(如对界面、业务逻辑等修改)生成该Android应用软件的多个版本,以满足不同用户的需求。由于该Android应用软件的所有版本都必须具有同样的固定APK文件包,所以只需对原有可变APK文件包进行修改即可。
为了生成该Android应用软件的一个版本而对原有可变APK文件包进行修改时,将修改后生成的新可变APK文件包签名并单独存储在服务器上。该Android应用软件的一个版本可由固定APK文件包和一个修改后生成的新可变APK文件包组合而成。这样每次生成该Android应用软件的一个版本时只需对生成的新可变APK文件包签名,避免了原先对整个该版本Android应用软件(包括固定APK文件包内容和对应新可变APK文件包内容)进行签名,减少服务器运算时间。
最后,固定APK文件包在服务器上只存储有一个,每个版本Android应用软件都只有一个对应的可变APK文件包存储在服务器上,每个固定APK文件包和一个可变APK文件包可以组成该Android应用软件的一个版本,避免了原先在服务器上将该Android应用软件的不同版本分别完整存储,节省了存储空间。
每种请求信息包含有唯一的识别符ID,服务器根据识别符ID判断请求信息的种类。服务器上设有反应每种请求信息与其对应的可变APK文件包之间关系的映射表,当用户发送请求信息时,服务器在映射表中查出该请求信息对应的可变APK文件包,将该可变APK文件包和固定APK文件包组合成一个APK文件输出到用户终端,便于服务器对可变APK文件包的管理。

Claims (5)

1.一种APK文件的存储及输出方法,其特征在于,包括以下步骤:
A将一个Android应用软件的APK文件拆分成由不能改动的内容组成的固定APK文件包和由可以根据需要改动的内容组成的可变APK文件包;
B对固定APK文件包和可变APK文件包分别进行签名处理,并将完成签名处理的固定APK文件包和可变APK文件包分别存储在服务器上;
C当需要对原有版本Android应用软件的APK文件进行修改生成该Android应用软件的不同版本以满足不同用户的需求时,对原有版本Android应用软件的可变APK文件包的内容进行修改,对修改完成后生成的新可变APK文件包进行签名处理,接着将完成签名处理的新可变APK文件包存储在服务器上,同时在服务器上保留原有可变APK文件包;
D服务器监控用户发送的请求信息,当接收到请求信息时,服务器将固定APK文件包以及与该请求信息相对应的可变APK文件包按APK文件格式组合成一个APK文件输出到用户终端。
2.根据权利要求1所述的一种APK文件的存储及输出方法,其特征在于,所述步骤C中对原有可变APK文件包进行修改包括以下步骤:
S1.复制原有可变APK文件包,并将复制的可变APK文件包解压缩;
S2.对可变APK文件包解压缩后的文件内容进行修改操作;
S3.将完成修改的文件内容压缩打包成新可变APK文件包。
3.根据权利要求1或2所述的一种APK文件的存储及输出方法,其特征在于:所述固定APK文件包在服务器上只存储有一个,每个版本Android应用软件都只有一个对应的可变APK文件包存储在服务器上。
4.根据权利要求1或2所述的一种APK文件的存储及输出方法,其特征在于:所述服务器上设有反应每种请求信息与其对应的可变APK文件包之间关系的映射表,当用户发送请求信息时,服务器在映射表中查出该请求信息对应的可变APK文件包,将该可变APK文件包和固定APK文件包组合成一个APK文件输出到用户终端。
5.根据权利要求4所述的一种APK文件的存储及输出方法,其特征在于:所述每种请求信息包含有唯一的识别符ID。
CN201310005903.4A 2013-01-08 2013-01-08 一种apk文件的存储及输出方法 Expired - Fee Related CN103177077B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310005903.4A CN103177077B (zh) 2013-01-08 2013-01-08 一种apk文件的存储及输出方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310005903.4A CN103177077B (zh) 2013-01-08 2013-01-08 一种apk文件的存储及输出方法

Publications (2)

Publication Number Publication Date
CN103177077A true CN103177077A (zh) 2013-06-26
CN103177077B CN103177077B (zh) 2016-08-10

Family

ID=48636938

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310005903.4A Expired - Fee Related CN103177077B (zh) 2013-01-08 2013-01-08 一种apk文件的存储及输出方法

Country Status (1)

Country Link
CN (1) CN103177077B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103595814A (zh) * 2013-11-25 2014-02-19 北京锐安科技有限公司 Apk文件的合并传输及分解运行方法、装置和系统
WO2015154612A1 (zh) * 2014-10-08 2015-10-15 中兴通讯股份有限公司 扩展apk文件应用的方法及装置
CN105787299A (zh) * 2015-12-22 2016-07-20 中软信息系统工程有限公司 一种具有安全标识的cpk软件包制作方法
CN106354525A (zh) * 2016-08-11 2017-01-25 深圳市宜搜科技发展有限公司 应用软件安装包差分存储方法及系统
CN106610853A (zh) * 2015-10-26 2017-05-03 阿里巴巴集团控股有限公司 一种应用部署方法和装置
CN106843843A (zh) * 2016-12-23 2017-06-13 光锐恒宇(北京)科技有限公司 安装包批量生成方法及装置
CN107145351A (zh) * 2017-05-02 2017-09-08 山东浪潮通软信息科技有限公司 一种修改签名Java包的方法、装置、可读介质及存储控制器
CN107820129A (zh) * 2017-11-16 2018-03-20 四川长虹电器股份有限公司 一种自动维护智能设备应用数据包的方法
CN112114904A (zh) * 2020-09-28 2020-12-22 中国建设银行股份有限公司 系统配置信息的处理方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009158081A2 (en) * 2008-06-25 2009-12-30 Microsoft Corporation Secure configuration of transient storage devices
CN102122361A (zh) * 2009-12-15 2011-07-13 北大方正集团有限公司 一种基于可变区域进行页面组装的方法及系统
KR20110084693A (ko) * 2010-01-18 2011-07-26 (주)쉬프트웍스 안드로이드 단말 플랫폼에서의 악성 코드와 위험 파일의 진단 방법
TW201224814A (en) * 2010-12-07 2012-06-16 Hon Hai Prec Ind Co Ltd System and method for updating software on android
CN102707977A (zh) * 2012-05-17 2012-10-03 江苏中科梦兰电子科技有限公司 一种基于Android应用软件的增量升级方法
CN102799445A (zh) * 2012-05-03 2012-11-28 陈昊 一种基于Android平台的应用升级方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009158081A2 (en) * 2008-06-25 2009-12-30 Microsoft Corporation Secure configuration of transient storage devices
CN102122361A (zh) * 2009-12-15 2011-07-13 北大方正集团有限公司 一种基于可变区域进行页面组装的方法及系统
KR20110084693A (ko) * 2010-01-18 2011-07-26 (주)쉬프트웍스 안드로이드 단말 플랫폼에서의 악성 코드와 위험 파일의 진단 방법
TW201224814A (en) * 2010-12-07 2012-06-16 Hon Hai Prec Ind Co Ltd System and method for updating software on android
CN102799445A (zh) * 2012-05-03 2012-11-28 陈昊 一种基于Android平台的应用升级方法及系统
CN102707977A (zh) * 2012-05-17 2012-10-03 江苏中科梦兰电子科技有限公司 一种基于Android应用软件的增量升级方法

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103595814A (zh) * 2013-11-25 2014-02-19 北京锐安科技有限公司 Apk文件的合并传输及分解运行方法、装置和系统
CN103595814B (zh) * 2013-11-25 2016-09-07 北京锐安科技有限公司 Apk文件的合并传输及分解运行方法、装置和系统
WO2015154612A1 (zh) * 2014-10-08 2015-10-15 中兴通讯股份有限公司 扩展apk文件应用的方法及装置
CN105574000A (zh) * 2014-10-08 2016-05-11 中兴通讯股份有限公司 扩展apk文件应用的方法及装置
CN105574000B (zh) * 2014-10-08 2019-11-05 中兴通讯股份有限公司 扩展apk文件应用的方法及装置
CN106610853A (zh) * 2015-10-26 2017-05-03 阿里巴巴集团控股有限公司 一种应用部署方法和装置
CN105787299A (zh) * 2015-12-22 2016-07-20 中软信息系统工程有限公司 一种具有安全标识的cpk软件包制作方法
CN105787299B (zh) * 2015-12-22 2020-06-19 中软信息系统工程有限公司 一种具有安全标识的cpk软件包制作方法
CN106354525B (zh) * 2016-08-11 2019-10-01 深圳市宜搜科技发展有限公司 应用软件安装包差分存储方法及系统
CN106354525A (zh) * 2016-08-11 2017-01-25 深圳市宜搜科技发展有限公司 应用软件安装包差分存储方法及系统
CN106843843A (zh) * 2016-12-23 2017-06-13 光锐恒宇(北京)科技有限公司 安装包批量生成方法及装置
CN107145351A (zh) * 2017-05-02 2017-09-08 山东浪潮通软信息科技有限公司 一种修改签名Java包的方法、装置、可读介质及存储控制器
CN107820129A (zh) * 2017-11-16 2018-03-20 四川长虹电器股份有限公司 一种自动维护智能设备应用数据包的方法
CN112114904A (zh) * 2020-09-28 2020-12-22 中国建设银行股份有限公司 系统配置信息的处理方法及装置

Also Published As

Publication number Publication date
CN103177077B (zh) 2016-08-10

Similar Documents

Publication Publication Date Title
CN103177077A (zh) 一种apk文件的存储及输出方法
JP6236533B2 (ja) 差分アップデートパッケージの作成方法及び装置、システム差分アップデート方法及び装置
US20150277897A1 (en) Software upgrade method and system for mobile terminal
CN106406935B (zh) 一种蓝牙芯片ota升级的方法和蓝牙芯片
CN106598667A (zh) 用于修复内核漏洞的方法和装置
CN104267978B (zh) 一种生成差分包的方法及装置
CN104461654A (zh) 一种obd设备功能单元及固件分类可选升级方法
WO2016058350A1 (zh) 一种基站软件版本管理方法和设备
CN106610839B (zh) 发布升级包的方法、轻量升级方法、装置及系统
CN106326226B (zh) 一种公有云上启动数据库服务的方法及系统
CN104461649B (zh) 芯片兼容方法及装置
CN103870303A (zh) 减小软件安装包大小的方法及装置
CN102612023A (zh) 一种移动终端更新应用的方法、服务器以及移动终端
WO2023123898A1 (zh) 固件烧录方法、装置、烧录设备以及固件烧录系统
CN103517141A (zh) 基于ip机顶盒分段式数据升级方法
CN108509215A (zh) 一种系统软件的更换方法、装置、终端设备及存储介质
EP3680773A1 (en) System and method for updating a computing device
CN110333876A (zh) 一种数据清除方法及控制设备
CN104077161A (zh) 一种客户端应用的升级方法及装置
CN105677445A (zh) 应用的安装管理方法、装置及智能终端
WO2013123703A1 (zh) 网管系统的数据备份方法、装置和恢复方法、装置
CN101207705A (zh) 图形文件管理方法
CN101714151A (zh) 一种基于sql数据库的机顶盒数据存储方法
CN107168748A (zh) 一种通过一个升级文件包实现多项升级任务的方法
CN107124446A (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
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address

Address after: 310000 room 1001, building 2, No. 2, ZIJINGHUA Road, Xihu District, Hangzhou City, Zhejiang Province

Patentee after: HANGZHOU MEGA TECHNOLOGY Co.,Ltd.

Address before: 10, 310000, The Union Buildings, No. 2, Bauhinia Road, Hangzhou, Zhejiang, Xihu District

Patentee before: Hangzhou Mijia Technology Co.,Ltd.

CP03 Change of name, title or address
CP01 Change in the name or title of a patent holder

Address after: Room 1001, building 2, No.2 ZIJINGHUA Road, Xihu District, Hangzhou City, Zhejiang Province 310000

Patentee after: Hangzhou Sikai Data Technology Group Co.,Ltd.

Address before: Room 1001, building 2, No.2 ZIJINGHUA Road, Xihu District, Hangzhou City, Zhejiang Province 310000

Patentee before: HANGZHOU MEGA TECHNOLOGY Co.,Ltd.

CP01 Change in the name or title of a patent holder
TR01 Transfer of patent right

Effective date of registration: 20210409

Address after: 355200 no.181 erbatou, taimuyang village, Qinyu Town, Fuding City, Ningde City, Fujian Province

Patentee after: Chen Ximei

Address before: Room 1001, building 2, No.2 ZIJINGHUA Road, Xihu District, Hangzhou City, Zhejiang Province 310000

Patentee before: Hangzhou Sikai Data Technology Group Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210507

Address after: 221000 west of Bianxi village committee, biantang Town, Jiawang District, Xuzhou City, Jiangsu Province

Patentee after: Xuzhou Guanghai Technology Co.,Ltd.

Address before: 355200 no.181 erbatou, taimuyang village, Qinyu Town, Fuding City, Ningde City, Fujian Province

Patentee before: Chen Ximei

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160810

Termination date: 20220108

CF01 Termination of patent right due to non-payment of annual fee