一种基于资源包的软件升级方法和系统的制作方法

文档序号:6621875阅读:288来源:国知局
一种基于资源包的软件升级方法和系统的制作方法
【专利摘要】本发明公开了一种基于资源包的软件升级方法,包括以下步骤:制作包含升级内容的资源包;发布并更新资源包;运行该资源包以完成软件升级。以及公开了与本方法同理的系统,本发明利用资源包方式绕开Android系统使用的apk安装包而必须人工干预的安装模式,实现完全自动化的静默安装和升级。
【专利说明】一种基于资源包的软件升级方法和系统

【技术领域】
[0001] 本发明属于移动【技术领域】,具体涉及一种基于资源包的无需人工干预的Android 软件自动安装升级方法和系统,适合于Android移动设备终端。

【背景技术】
[0002] 现有技术中,Android客户端软件升级是最常见的问题,目前最常用方法是: 利用程序自带版本控制和自动升级功能,这种办法对于更新不是很频繁的一般场景没 什么问题,但针对海量公众用户群的时候,客户端的频繁升级给客户带来的影响的很大的, 会影响软件的用户体验和推广,因为Android系统本身要求安装应用必须人工干预。
[0003] 为了解决易于更新,不需要客户端变动,衍生出利用HTML5方式开发应用,这样功 能更新直接在服务器端更新即可,但基于浏览器的原因,很多设备本身的功能难以发挥,对 于客户端体验要求高的场景不太合适。
[0004] 另外,还有一种方式就是利用插件方式,把新功能做成独立的apk安装包,安装后 自动集成进入原程序,这样更新新功能,就不需要升级已经装的程序,只需要安装一个功能 插件,这种方式虽然在一定程度上解决更新问题,但每一次加新功能都需要安装附加包,即 系统要求的安装授权的过程,就需人工干预来执行,同时产生一堆小应用,影响用户体验。


【发明内容】

[0005] 为解决上述技术问题,本发明旨在提供一种基于资源包的无需人工干预的 Android软件自动安装升级方法和系统。
[0006] 本发明采用的技术方案是: 一种基于资源包的软件升级方法,其特征在于包括以下步骤: A、 制作包含升级内容的资源包; B、 发布并更新资源包; C、 运行该资源包以完成软件升级。
[0007] 进一步的,所述步骤A将图片布局和代码一起编译并打包成二进制资源包。
[0008] 其中,所述步骤B包括: B1、给资源包命名,加上版本号,并发布到服务器; B2、客户端程序定时检测服务器以发现资源包; B3、客户端自动下载资源包并安装更新。
[0009] 进一步的,所述步骤C包括: C1、解析资源包; C2、通过反射技术动态分析并执行资源包所包含的模块功能。
[0010] 基于与上述方法的同一个发明构思,本技术方案还包括一种基于资源包的软件升 级系统,其特征在于包括: 一软件基础框架,该软件基础框架与系统的功能模块分离; 若干资源包,该资源包为所述功能模块存在形式; 一资源包管理引擎,该资源包管理引擎用于负责资源包的自动下载、版本管理、安装以 及升级管理; 一资源包解析引擎,该资源包解析引擎将资源包解析成可以执行的功能模块。
[0011] 进一步的,所述资源包包括日常开发程序功能模块的资源和代码。
[0012] 其中,所述资源包管理引擎从服务器上下载实时更新的资源包。
[0013] 进一步的,所述资源包解析引擎对资源包分析,并通过反射技术从编译后的资源 包动态分析出可执行的代码。
[0014] 本发明的有益效果: 本发明Android软件自动安装升级方法和系统将程序框架和功能模块分离,而将所有 功能模块,制作成资源包,通过资源包解析引擎将资源包解析成可以执行的功能模块,从而 实现程序正常工作。
[0015] 而资源包管理引擎主要负责资源包的版本管理,安装,升级管理等,由于资源包不 是apk,下载安装资源包和下载普通文件没有区别,从而将程序升级变成普通文件管理一样 简单,所有安装升级都可以跳过系统要求的安装授权过程,从而无需人工干预自动执行,实 现静默安装,也不会产生小应用; 这种方法解决普通升级需要人工参与的弊端,又改良了用户体验,特别适合更新比较 频繁,用户群大的Android应用。

【专利附图】

【附图说明】
[0016] 下面结合附图对本发明的【具体实施方式】做进一步的说明。
[0017] 图1是本发明Android软件自动安装升级的方法流程图; 图2是本发明发布并更新资源包的流程图; 图3是本发明运行该资源包的流程图; 图4是本发明Android软件自动安装升级系统的工作原理图。

【具体实施方式】
[0018] 参考图1所示,为本发明的一种基于资源包的软件升级方法,包括以下步骤: A、 制作包含升级内容的资源包; 即将图片布局和代码(软件升级内容)一起编译并打包成二进制资源包; B、 发布并更新资源包; 其中,所述步骤B包括:(见图2) B1、给资源包命名,加上版本号,并发布到服务器; B2、客户端程序定时检测服务器以发现资源包; B3、客户端自动下载资源包并安装更新。
[0019] C、运行该资源包以完成软件升级。
[0020] 其中,所述步骤C包括:(见图3) C1、解析资源包; C2、通过反射技术动态分析并执行资源包所包含的模块功能。
[0021] 本技术方案的软件升级方法利用资源包方式绕开Android系统使用的apk安装包 而必须人工干预的安装模式,实现完全自动化的静默安装和升级。
[0022] 基于与上述方法的同一个发明构思,本技术方案还包括一种基于资源包的软件升 级系统,包括: 一软件基础框架,该软件基础框架与系统的功能模块分离;该框架只包括基本不变程 序公用功能和控制框架; 若干资源包,该资源包为所述功能模块存在形式,即系统中传统的功能模块制作成资 源包,该资源包包括日常开发程序功能模块的资源和代码; 一资源包管理引擎,该资源包管理引擎用于从服务器上下载实时更新的资源包、版本 管理、安装以及升级管理; 一资源包解析引擎,该资源包解析引擎将资源包解析成可执行功能模块;其中,该资源 包解析引擎对资源包分析,并通过反射技术从编译后的资源包动态分析出可执行的代码。
[0023] 如上所述,本发明Android软件自动安装升级方法和系统将程序框架和功能模块 分离,而将所有功能模块,制作成资源包,通过资源包解析引擎将资源包解析成可以执行的 功能模块,从而实现程序正常工作。
[0024] 而资源包管理引擎主要负责资源包的版本管理,安装,升级管理等,由于资源包不 是apk,下载安装资源包和下载普通文件没有区别,从而将程序升级变成普通文件管理一样 简单,所有安装升级都可以跳过系统要求的安装授权过程,从而无需人工干预自动执行,实 现静默安装,也不会产生小应用; 这种方法解决普通升级需要人工参与的弊端,又改良了用户体验,特别适合更新比较 频繁,用户群大的Android应用。
[0025] 以上所述仅为本发明的优先实施方式,本发明并不限定于上述实施方式,只要以 基本相同手段实现本发明目的的技术方案都属于本发明的保护范围之内。
【权利要求】
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所述的一种基于资源包的软件升级系统,其特征在于:所述资源包 解析引擎对资源包分析,并通过反射技术从编译后的资源包动态分析出可执行的代码。
【文档编号】G06F9/445GK104111856SQ201410367964
【公开日】2014年10月22日 申请日期:2014年7月29日 优先权日:2014年7月29日
【发明者】余敬龙 申请人:广东能龙教育股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1