CN104111856A - 一种基于资源包的软件升级方法和*** - Google Patents
一种基于资源包的软件升级方法和*** Download PDFInfo
- Publication number
- CN104111856A CN104111856A CN201410367964.XA CN201410367964A CN104111856A CN 104111856 A CN104111856 A CN 104111856A CN 201410367964 A CN201410367964 A CN 201410367964A CN 104111856 A CN104111856 A CN 104111856A
- Authority
- CN
- China
- Prior art keywords
- resource bag
- resource
- bag
- software
- upgrading
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于资源包的软件升级方法,包括以下步骤:制作包含升级内容的资源包;发布并更新资源包;运行该资源包以完成软件升级。以及公开了与本方法同理的***,本发明利用资源包方式绕开Android***使用的apk安装包而必须人工干预的安装模式,实现完全自动化的静默安装和升级。
Description
技术领域
本发明属于移动技术领域,具体涉及一种基于资源包的无需人工干预的Android软件自动安装升级方法和***,适合于Android移动设备终端。
背景技术
现有技术中,Android客户端软件升级是最常见的问题,目前最常用方法是:
利用程序自带版本控制和自动升级功能,这种办法对于更新不是很频繁的一般场景没什么问题,但针对海量公众用户群的时候,客户端的频繁升级给客户带来的影响的很大的,会影响软件的用户体验和推广,因为Android***本身要求安装应用必须人工干预。
为了解决易于更新,不需要客户端变动,衍生出利用HTML5方式开发应用,这样功能更新直接在服务器端更新即可,但基于浏览器的原因,很多设备本身的功能难以发挥,对于客户端体验要求高的场景不太合适。
另外,还有一种方式就是利用插件方式,把新功能做成独立的apk安装包,安装后自动集成进入原程序,这样更新新功能,就不需要升级已经装的程序,只需要安装一个功能插件,这种方式虽然在一定程度上解决更新问题,但每一次加新功能都需要安装附加包,即***要求的安装授权的过程,就需人工干预来执行,同时产生一堆小应用,影响用户体验。
发明内容
为解决上述技术问题,本发明旨在提供一种基于资源包的无需人工干预的Android软件自动安装升级方法和***。
本发明采用的技术方案是:
一种基于资源包的软件升级方法,其特征在于包括以下步骤:
A、 制作包含升级内容的资源包;
B、 发布并更新资源包;
C、 运行该资源包以完成软件升级。
进一步的,所述步骤A将图片布局和代码一起编译并打包成二进制资源包。
其中,所述步骤B包括:
B1、给资源包命名,加上版本号,并发布到服务器;
B2、客户端程序定时检测服务器以发现资源包;
B3、客户端自动下载资源包并安装更新。
进一步的,所述步骤C包括:
C1、解析资源包;
C2、通过反射技术动态分析并执行资源包所包含的模块功能。
基于与上述方法的同一个发明构思,本技术方案还包括一种基于资源包的软件升级***,其特征在于包括:
一软件基础框架,该软件基础框架与***的功能模块分离;
若干资源包,该资源包为所述功能模块存在形式;
一资源包管理引擎,该资源包管理引擎用于负责资源包的自动下载、版本管理、安装以及升级管理;
一资源包解析引擎,该资源包解析引擎将资源包解析成可以执行的功能模块。
进一步的,所述资源包包括日常开发程序功能模块的资源和代码。
其中,所述资源包管理引擎从服务器上下载实时更新的资源包。
进一步的,所述资源包解析引擎对资源包分析,并通过反射技术从编译后的资源包动态分析出可执行的代码。
本发明的有益效果:
本发明Android软件自动安装升级方法和***将程序框架和功能模块分离,而将所有功能模块,制作成资源包,通过资源包解析引擎将资源包解析成可以执行的功能模块,从而实现程序正常工作。
而资源包管理引擎主要负责资源包的版本管理,安装,升级管理等,由于资源包不是apk,下载安装资源包和下载普通文件没有区别,从而将程序升级变成普通文件管理一样简单,所有安装升级都可以跳过***要求的安装授权过程,从而无需人工干预自动执行,实现静默安装,也不会产生小应用;
这种方法解决普通升级需要人工参与的弊端,又改良了用户体验,特别适合更新比较频繁,用户群大的Android应用。
附图说明
下面结合附图对本发明的具体实施方式做进一步的说明。
图1是本发明Android软件自动安装升级的方法流程图;
图2是本发明发布并更新资源包的流程图;
图3是本发明运行该资源包的流程图;
图4是本发明Android软件自动安装升级***的工作原理图。
具体实施方式
参考图1所示,为本发明的一种基于资源包的软件升级方法,包括以下步骤:
A、 制作包含升级内容的资源包;
即将图片布局和代码(软件升级内容)一起编译并打包成二进制资源包;
B、 发布并更新资源包;
其中,所述步骤B包括:(见图2)
B1、给资源包命名,加上版本号,并发布到服务器;
B2、客户端程序定时检测服务器以发现资源包;
B3、客户端自动下载资源包并安装更新。
C、 运行该资源包以完成软件升级。
其中,所述步骤C包括:(见图3)
C1、解析资源包;
C2、通过反射技术动态分析并执行资源包所包含的模块功能。
本技术方案的软件升级方法利用资源包方式绕开Android***使用的apk安装包而必须人工干预的安装模式,实现完全自动化的静默安装和升级。
基于与上述方法的同一个发明构思,本技术方案还包括一种基于资源包的软件升级***,包括:
一软件基础框架,该软件基础框架与***的功能模块分离;该框架只包括基本不变程序公用功能和控制框架;
若干资源包,该资源包为所述功能模块存在形式,即***中传统的功能模块制作成资源包,该资源包包括日常开发程序功能模块的资源和代码;
一资源包管理引擎,该资源包管理引擎用于从服务器上下载实时更新的资源包、版本管理、安装以及升级管理;
一资源包解析引擎,该资源包解析引擎将资源包解析成可执行功能模块;其中,该资源包解析引擎对资源包分析,并通过反射技术从编译后的资源包动态分析出可执行的代码。
如上所述,本发明Android软件自动安装升级方法和***将程序框架和功能模块分离,而将所有功能模块,制作成资源包,通过资源包解析引擎将资源包解析成可以执行的功能模块,从而实现程序正常工作。
而资源包管理引擎主要负责资源包的版本管理,安装,升级管理等,由于资源包不是apk,下载安装资源包和下载普通文件没有区别,从而将程序升级变成普通文件管理一样简单,所有安装升级都可以跳过***要求的安装授权过程,从而无需人工干预自动执行,实现静默安装,也不会产生小应用;
这种方法解决普通升级需要人工参与的弊端,又改良了用户体验,特别适合更新比较频繁,用户群大的Android应用。
以上所述仅为本发明的优先实施方式,本发明并不限定于上述实施方式,只要以基本相同手段实现本发明目的的技术方案都属于本发明的保护范围之内。
Claims (8)
1.一种基于资源包的软件升级方法,其特征在于包括以下步骤:
A、制作包含升级内容的资源包;
B、发布并更新资源包;
C、运行该资源包以完成软件升级。
2.根据权利要求1所述的一种基于资源包的软件升级方法,其特征在于:所述步骤A将图片布局和代码一起编译并打包成二进制资源包。
3.根据权利要求1所述的一种基于资源包的软件升级方法,其特征在于:所述步骤B包括:
B1、给资源包命名,加上版本号,并发布到服务器;
B2、客户端程序定时检测服务器以发现资源包;
B3、客户端自动下载资源包并安装更新。
4.根据权利要求3所述的一种基于资源包的软件升级方法,其特征在于: 所述步骤C包括:
C1、解析资源包;
C2、通过反射技术动态分析并执行资源包所包含的模块功能。
5.一种基于资源包的软件升级***,其特征在于包括:
一软件基础框架,该软件基础框架与***的功能模块分离;
若干资源包,该资源包为所述功能模块存在形式;
一资源包管理引擎,该资源包管理引擎用于负责资源包的自动下载、版本管理、安装以及升级管理;
一资源包解析引擎,该资源包解析引擎将资源包解析成可以执行的功能模块。
6.根据权利要求5所述的一种基于资源包的软件升级***,其特征在于:所述资源包包括日常开发程序功能模块的资源和代码。
7.根据权利要求5所述的一种基于资源包的软件升级***,其特征在于:所述资源包管理引擎从服务器上下载实时更新的资源包。
8.根据权利要求5所述的一种基于资源包的软件升级***,其特征在于:所述资源包解析引擎对资源包分析,并通过反射技术从编译后的资源包动态分析出可执行的代码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410367964.XA CN104111856A (zh) | 2014-07-29 | 2014-07-29 | 一种基于资源包的软件升级方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410367964.XA CN104111856A (zh) | 2014-07-29 | 2014-07-29 | 一种基于资源包的软件升级方法和*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104111856A true CN104111856A (zh) | 2014-10-22 |
Family
ID=51708656
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410367964.XA Pending CN104111856A (zh) | 2014-07-29 | 2014-07-29 | 一种基于资源包的软件升级方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104111856A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106020906A (zh) * | 2016-05-31 | 2016-10-12 | 广东能龙教育股份有限公司 | 一种基于Cordova的客户端热更新方法 |
CN110244957A (zh) * | 2019-05-10 | 2019-09-17 | 阿里巴巴集团控股有限公司 | 一种资源数据更新方法、装置及*** |
CN111212057A (zh) * | 2019-12-30 | 2020-05-29 | 武汉联影医疗科技有限公司 | 资源包传输方法、装置、计算机设备和可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101094229A (zh) * | 2007-07-24 | 2007-12-26 | 深圳市融合视讯科技有限公司 | 一种网络应用程序的增量升级***及升级方法 |
US20080077681A1 (en) * | 2006-09-26 | 2008-03-27 | Samsung Electronics Co., Ltd. | Method and apparatus for upgrading software of digital broadcasting receiver |
CN102081532A (zh) * | 2010-10-15 | 2011-06-01 | 福建新大陆通信科技股份有限公司 | 一种机顶盒功能动态升级的方法 |
CN102932441A (zh) * | 2012-10-26 | 2013-02-13 | 北京小米科技有限责任公司 | 一种下载应用的方法、终端、服务器及*** |
CN103313231A (zh) * | 2013-07-03 | 2013-09-18 | 百度在线网络技术(北京)有限公司 | 移动终端中应用程序的升级方法、***和服务器 |
-
2014
- 2014-07-29 CN CN201410367964.XA patent/CN104111856A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080077681A1 (en) * | 2006-09-26 | 2008-03-27 | Samsung Electronics Co., Ltd. | Method and apparatus for upgrading software of digital broadcasting receiver |
CN101094229A (zh) * | 2007-07-24 | 2007-12-26 | 深圳市融合视讯科技有限公司 | 一种网络应用程序的增量升级***及升级方法 |
CN102081532A (zh) * | 2010-10-15 | 2011-06-01 | 福建新大陆通信科技股份有限公司 | 一种机顶盒功能动态升级的方法 |
CN102932441A (zh) * | 2012-10-26 | 2013-02-13 | 北京小米科技有限责任公司 | 一种下载应用的方法、终端、服务器及*** |
CN103313231A (zh) * | 2013-07-03 | 2013-09-18 | 百度在线网络技术(北京)有限公司 | 移动终端中应用程序的升级方法、***和服务器 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106020906A (zh) * | 2016-05-31 | 2016-10-12 | 广东能龙教育股份有限公司 | 一种基于Cordova的客户端热更新方法 |
CN110244957A (zh) * | 2019-05-10 | 2019-09-17 | 阿里巴巴集团控股有限公司 | 一种资源数据更新方法、装置及*** |
CN111212057A (zh) * | 2019-12-30 | 2020-05-29 | 武汉联影医疗科技有限公司 | 资源包传输方法、装置、计算机设备和可读存储介质 |
CN111212057B (zh) * | 2019-12-30 | 2022-09-27 | 武汉联影医疗科技有限公司 | 资源包传输方法、装置、计算机设备和可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106933609B (zh) | Android应用程序安装包的生成方法及装置 | |
CN103207794B (zh) | 局域网内移动终端之间应用程序的分享方法 | |
CN104615462B (zh) | 跨平台的移动应用生成服务端及*** | |
CN103412768A (zh) | 一种基于脚本程序自动化部署Zookeeper集群的方法 | |
CN103945264A (zh) | 一种机顶盒应用程序更新方法 | |
IN2014CN04930A (zh) | ||
CN105550001A (zh) | 分布式自动构建方法及*** | |
CN105204913A (zh) | 一种在Android操作***上运行Linux应用程序的方法及*** | |
CN104615466A (zh) | 一种云平台部署方法和*** | |
CN104216741A (zh) | 基于APK动态加载的Android插件化实现方法、装置及交互方法 | |
TW201351324A (zh) | 無線應用發佈、實現方法與裝置 | |
CN104111856A (zh) | 一种基于资源包的软件升级方法和*** | |
CN108874437B (zh) | 一种android应用程序的在线云更新方法 | |
CN105468427A (zh) | 一种自动编译和发布的实现方法及*** | |
WO2016062152A1 (zh) | 网元巡检方法及装置 | |
CN105468428A (zh) | 一种安卓源代码编译方法及*** | |
CN105554552A (zh) | 一种基于机顶盒的ui动态布局***及方法 | |
CN105554067A (zh) | 通过云端对硬件数据采集设备的数据进行自动更新的方法 | |
CN106484452B (zh) | 一种软件平台的统一配置管理方法和装置 | |
CN105389187A (zh) | 一种***更新的方法 | |
CN102819527A (zh) | 在移动通信***中匹配规则的方法和*** | |
CN106020906A (zh) | 一种基于Cordova的客户端热更新方法 | |
CN105205005A (zh) | 一种服务器的cpu测试方法及*** | |
CN103324716A (zh) | 一种基于安卓***的应用程序数据库更新方法 | |
CN101482883B (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: 20141022 |
|
RJ01 | Rejection of invention patent application after publication |