首页> 中国专利> 基于资源和代码模块化的安卓app资源更新和修复的方法

基于资源和代码模块化的安卓app资源更新和修复的方法

摘要

本发明提供一种基于资源和代码模块化的安卓app资源更新和修复的方法,对Android app的主题资源和所需功能代码进行模块化处理,获得资源文件和代码patch包,将资源文件和代码patch包存储于Android app的服务器对应功能的assets目录下,当业务需求变更或者系统发现异常时,从Android app的服务器上获取资源文件或代码patch包,进行系统资源更新或者异常修复处理。本发明通过远程更新即可完成业务模块更新和异常修复;无需更新新版本安装包apk。

著录项

  • 公开/公告号CN106569863A

    专利类型发明专利

  • 公开/公告日2017-04-19

    原文格式PDF

  • 申请/专利权人 福州智永信息科技有限公司;

    申请/专利号CN201610988946.2

  • 申请日2016-11-10

  • 分类号G06F9/445;

  • 代理机构福州市鼓楼区京华专利事务所(普通合伙);

  • 代理人宋连梅

  • 地址 350000 福建省福州市鼓楼区软件大道89号福州软件园B区11号楼320室

  • 入库时间 2023-06-19 01:56:43

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-01-17

    授权

    授权

  • 2017-05-17

    实质审查的生效 IPC(主分类):G06F9/445 申请日:20161110

    实质审查的生效

  • 2017-04-19

    公开

    公开

说明书

技术领域

本发明涉及信息科技技术领域,尤其涉及一种基于资源和代码模块化的安卓app资源更新和修复的方法。

背景技术

在目前的软硬件环境下,Android app(应用程序软件)是必须通过安装新版本才能完成版本更新和异常修复。这样的方式主要体现在;1、当业务发生变更时,app开发商会重新开发新的版本,这就需要用户频繁的升级客户端。2、当app在运行时发现异常时,修复该版本的app也是通过升级客户端来解决。这两种情况都造成较差的用户体验。

现有技术公开了一种“企业分布式应用系统中实现资源加载及资源热更新的方法”,见公开号为:CN102436373A,公开日为:2012-05-02的中国专利,该方法包括开发期实现资源解析器接口和拦截器接口并配置格式定义的操作、运行期对资源加载配置文件解析的操作、运行期模块资源加载的操作以及运行期热更新线程监听的操作。采用该发明的方法能使资源的解析和热更新工作更为简单高效,增加新的资源类型时,无需修改核心代码,系统运行效率更高,性能稳定可靠,并降低了开发维护的成本,增强了系统可移植性和可扩展性,使用户专注于业务逻辑的处理,还能够快速适应业务需求和技术的变化,支撑建立高度模块化又高度整合的软件系统,其适用范围较为广泛,为企业应用中对资源的管理打下了坚实的基础。该发明资源加载和资源热更新的技术方案与本专利申请不同,且该发明也未进行代码更新。

发明内容

本发明要解决的技术问题,在于提供一种基于资源和代码模块化的安卓app资源更新和修复的方法,通过远程更新即可完成业务模块更新和异常修复;无需更新新版本安装包apk。

本发明是这样实现的:一种基于资源和代码模块化的安卓app资源更新和修复的方法,其特征在于:对Android app的主题资源和所需功能代码进行模块化处理,获得资源文件和代码patch包,将资源文件和代码patch包存储于Android app的服务器对应功能的assets目录下,当业务需求变更或者系统发现异常时,从Android app的服务器上获取资源文件或代码patch包,进行系统资源更新或者异常修复处理。

进一步的,所述方法进一步包括:当业务需求变更时,客户端从Android app的服务器上下载资源文件,并将资源文件存放于data/data/packagename/files目录下;使用Assets管理者进行资源加载并更新;将当系统发现异常时,客户端从Android app的服务器上下载代码patch包,并将代码patch包存放于data/data/packagename/files/dexs目录下;利用Android提供的Android分包multiDex技术,优先加载patch包里的代码,完成系统异常的修复。

进一步的,所述方法进一步包括:对Android app进行接口预留,让更新的资源文件和代码资源能够被使用;即需要对资源的存放位置和代码的更新位置进行预先设计,需要预先在逻辑上进行编写,使得通过接口能查找资源补丁和代码补丁,如果资源的存放位置和代码的更新位置不存在对应的更新文件,则使用Android系统的默认资源和原先的代码。

进一步的,所述方法进一步包括:资源需要更新或代码需要更新;则将需要更新的资源文件和代码patch包放置在服务端;

客户端检测服务端更新信息,若有更新,这进行资源补丁下载和代码补丁下载;从Android app预留的接口和逻辑代码进行检测,若发现有更新补丁包,则对资源文件或代码patch包进行加载;客户端从Android app的服务器上获取资源文件或代码patch包,进行系统资源更新或者异常修复处理。。

本发明具有如下优点:1、用户体验提高,通过远程更新即可完成业务模块更新和异常修复;无需更新新版本安装包apk。

2、主题资源和所需功能代码进行模块化,这样灵活可移植性高,业务可根据业务特点定制模块策略。

3、节省流程发布成本,不需要每次版本更新重复进行市场渠道发布。

4、灵活高效,更新效率高,出现异常随时更新。

附图说明

下面参照附图结合实施例对本发明作进一步的说明。

图1为本发明方法的流程示意图。

图2为本发明方法中更新的详细流程示意图。

具体实施方式

请参阅图1和图2所示,一种基于资源和代码模块化的安卓app资源更新和修复的方法,对Android app的主题资源和所需功能代码进行模块化处理,获得资源文件和代码patch包,将资源文件和代码patch包存储于Android app的服务器对应功能的assets目录下,即在项目设计中,对于主题资源进行模块化存储,存放在对应功能的assets目录下;在项目设计中,对所需功能进行模块化处理,便于实现开发中的插拔式开发;当业务需求变更或者系统发现异常时,从Android app的服务器上获取资源文件或代码patch包,进行系统资源更新或者异常修复处理。

在本发明中,所述方法进一步包括:当业务需求变更时,客户端从Android app的服务器上下载资源文件,并将资源文件存放于data/data/packagename/files目录下;使用Assets管理者进行资源加载并更新;将当系统发现异常时,客户端从Android app的服务器上下载代码patch包,并将代码patch包存放于data/data/packagename/files/dexs目录下;利用Android提供的Android分包multiDex技术,优先加载patch包里的代码,完成系统异常的修复。这个代码patch包是一个可执行文件dex。

另外,所述方法:对Android app进行接口预留,让更新的资源文件和代码资源能够被使用;即需要对资源的存放位置和代码的更新位置进行预先设计,需要预先在逻辑上进行编写,使得通过接口能查找资源补丁和代码补丁,如果资源的存放位置和代码的更新位置不存在对应的更新文件,则使用Android系统的默认资源和原先的代码。

所述方法进一步包括:资源需要更新或代码需要更新;则将需要更新的资源文件和代码patch包放置在服务端;

客户端检测服务端更新信息,若有更新,这进行资源补丁下载和代码补丁下载;从Android app预留的接口和逻辑代码进行检测,若发现有更新补丁包,则对资源文件或代码patch包进行加载;客户端从Android app的服务器上获取资源文件或代码patch包,进行系统资源更新或者异常修复处理。

总之,本发明只需要通过网络远程更新资源patch包和代码patch包(dex文件)即可进行业务更新和异常需求修复。

虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号