CN106569863A - 基于资源和代码模块化的安卓app资源更新和修复的方法 - Google Patents
基于资源和代码模块化的安卓app资源更新和修复的方法 Download PDFInfo
- Publication number
- CN106569863A CN106569863A CN201610988946.2A CN201610988946A CN106569863A CN 106569863 A CN106569863 A CN 106569863A CN 201610988946 A CN201610988946 A CN 201610988946A CN 106569863 A CN106569863 A CN 106569863A
- Authority
- CN
- China
- Prior art keywords
- resource
- code
- app
- android
- patch
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种基于资源和代码模块化的安卓app资源更新和修复的方法,对Android app的主题资源和所需功能代码进行模块化处理,获得资源文件和代码patch包,将资源文件和代码patch包存储于Android app的服务器对应功能的assets目录下,当业务需求变更或者***发现异常时,从Android app的服务器上获取资源文件或代码patch包,进行***资源更新或者异常修复处理。本发明通过远程更新即可完成业务模块更新和异常修复;无需更新新版本安装包apk。
Description
技术领域
本发明涉及信息科技技术领域,尤其涉及一种基于资源和代码模块化的安卓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文件)即可进行业务更新和异常需求修复。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
Claims (4)
1.一种基于资源和代码模块化的安卓app资源更新和修复的方法,其特征在于:对Android app的主题资源和所需功能代码进行模块化处理,获得资源文件和代码patch包,将资源文件和代码patch包存储于Android app的服务器对应功能的assets目录下,当业务需求变更或者***发现异常时,从Android app的服务器上获取资源文件或代码patch包,进行***资源更新或者异常修复处理。
2.根据权利要求1所述的基于资源和代码模块化的安卓app资源更新和修复的方法,其特征在于:所述方法进一步包括:当业务需求变更时,客户端从Android app的服务器上下载资源文件,并将资源文件存放于data/data/packagename/files目录下;使用Assets管理者进行资源加载并更新;将当***发现异常时,客户端从Android app的服务器上下载代码patch包,并将代码patch包存放于data/data/packagename/files/dexs目录下;利用Android提供的Android分包multiDex技术,优先加载patch包里的代码,完成***异常的修复。
3.根据权利要求1所述的基于资源和代码模块化的安卓app资源更新和修复的方法,其特征在于:所述方法进一步包括:对Android app进行接口预留,让更新的资源文件和代码资源能够被使用;即需要对资源的存放位置和代码的更新位置进行预先设计,需要预先在逻辑上进行编写,使得通过接口能查找资源补丁和代码补丁,如果资源的存放位置和代码的更新位置不存在对应的更新文件,则使用Android***的默认资源和原先的代码。
4.根据权利要求3所述的基于资源和代码模块化的安卓app资源更新和修复的方法,其特征在于:所述方法进一步包括:资源需要更新或代码需要更新;则将需要更新的资源文件和代码patch包放置在服务端;客户端检测服务端更新信息,若有更新,这进行资源补丁下载和代码补丁下载;从Android app预留的接口和逻辑代码进行检测,若发现有更新补丁包,则对资源文件或代码patch包进行加载;客户端从Android app的服务器上获取资源文件或代码patch包,进行***资源更新或者异常修复处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610988946.2A CN106569863B (zh) | 2016-11-10 | 2016-11-10 | 基于资源和代码模块化的安卓app资源更新和修复的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610988946.2A CN106569863B (zh) | 2016-11-10 | 2016-11-10 | 基于资源和代码模块化的安卓app资源更新和修复的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106569863A true CN106569863A (zh) | 2017-04-19 |
CN106569863B CN106569863B (zh) | 2020-01-17 |
Family
ID=58540992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610988946.2A Active CN106569863B (zh) | 2016-11-10 | 2016-11-10 | 基于资源和代码模块化的安卓app资源更新和修复的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106569863B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109254797A (zh) * | 2018-08-15 | 2019-01-22 | Oppo广东移动通信有限公司 | 移动终端及其开机控制方法、存储介质 |
CN109683927A (zh) * | 2018-11-01 | 2019-04-26 | 苏州蜗牛数字科技股份有限公司 | 一种更新u3d安卓游戏的方法 |
CN109766084A (zh) * | 2018-12-28 | 2019-05-17 | 百富计算机技术(深圳)有限公司 | 支付应用的定制开发方法、装置、计算机设备和存储介质 |
CN109800005A (zh) * | 2018-12-06 | 2019-05-24 | 广州西山居世游网络科技有限公司 | 一种客户端热更新方法及装置 |
CN112099830A (zh) * | 2020-09-25 | 2020-12-18 | 努比亚技术有限公司 | 一种***更新方法、设备及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102436373A (zh) * | 2011-09-13 | 2012-05-02 | 上海普元信息技术股份有限公司 | 企业分布式应用***中实现资源加载及资源热更新的方法 |
CN105354045A (zh) * | 2014-08-21 | 2016-02-24 | 中兴通讯股份有限公司 | 补丁的制作方法及装置、补丁的激活方法及装置 |
CN105824623A (zh) * | 2016-03-14 | 2016-08-03 | 广州趣丸网络科技有限公司 | 一种Android应用热修复的方法和装置 |
US20160274900A1 (en) * | 2015-03-20 | 2016-09-22 | ZeroTurnaround AS | System and Method for Fast Restarting of User Apps |
-
2016
- 2016-11-10 CN CN201610988946.2A patent/CN106569863B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102436373A (zh) * | 2011-09-13 | 2012-05-02 | 上海普元信息技术股份有限公司 | 企业分布式应用***中实现资源加载及资源热更新的方法 |
CN105354045A (zh) * | 2014-08-21 | 2016-02-24 | 中兴通讯股份有限公司 | 补丁的制作方法及装置、补丁的激活方法及装置 |
US20160274900A1 (en) * | 2015-03-20 | 2016-09-22 | ZeroTurnaround AS | System and Method for Fast Restarting of User Apps |
CN105824623A (zh) * | 2016-03-14 | 2016-08-03 | 广州趣丸网络科技有限公司 | 一种Android应用热修复的方法和装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109254797A (zh) * | 2018-08-15 | 2019-01-22 | Oppo广东移动通信有限公司 | 移动终端及其开机控制方法、存储介质 |
CN109683927A (zh) * | 2018-11-01 | 2019-04-26 | 苏州蜗牛数字科技股份有限公司 | 一种更新u3d安卓游戏的方法 |
CN109800005A (zh) * | 2018-12-06 | 2019-05-24 | 广州西山居世游网络科技有限公司 | 一种客户端热更新方法及装置 |
CN109766084A (zh) * | 2018-12-28 | 2019-05-17 | 百富计算机技术(深圳)有限公司 | 支付应用的定制开发方法、装置、计算机设备和存储介质 |
CN112099830A (zh) * | 2020-09-25 | 2020-12-18 | 努比亚技术有限公司 | 一种***更新方法、设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106569863B (zh) | 2020-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106569863A (zh) | 基于资源和代码模块化的安卓app资源更新和修复的方法 | |
CN103229144B (zh) | 预热软件安装 | |
CN106648724B (zh) | 应用程序的热修复方法及终端 | |
CN100442230C (zh) | 软件多版本升级的方法及*** | |
CN102236764B (zh) | 用于Android***的抵御桌面信息攻击的方法和监控*** | |
CN105453037A (zh) | 维持用于更新的已知相关性 | |
CN104750528B (zh) | 一种Android程序中的组件管理方法和装置 | |
CN1668010A (zh) | 用来在更新分发***中分发更新元数据的基于标记模式 | |
CN102195804A (zh) | 软件自动更新方法及其*** | |
CN103365682B (zh) | 信息处理设备和信息处理方法 | |
CN103473067A (zh) | 嵌入式Linux分区与数据还原方法、***及***开发方法 | |
CN102422266A (zh) | 构建和更新运行时刻环境的***和方法 | |
CN105426165A (zh) | 一种脚本工具的处理方法及装置 | |
CN106371874A (zh) | 一种插件数据加载方法及设备 | |
CN109656597A (zh) | 固件升级方法、装置及计算机可读存储介质 | |
CN105760184A (zh) | 一种加载组件的方法和装置 | |
CN104484172A (zh) | 一种文件打包的方法及装置 | |
CN101719074A (zh) | 补丁实现方法及装置 | |
CN107861736A (zh) | 补丁生成和更新方法及装置、电子设备、存储介质 | |
CN105159718A (zh) | 固件升级方法及装置 | |
CN103036855A (zh) | 一种权限管理的实现设备和方法 | |
CN102238017B (zh) | 实现本地软件更新提醒的方法及*** | |
CN102007756A (zh) | 用于数据处理环境中的动态供应的方法和装置 | |
CN102054041A (zh) | 元数据升级方法和*** | |
CN110941422B (zh) | 代码自动生成方法、代码生成器及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 350028 Jinshan Juyuan Industrial Park project a, No.18, West Third Ring Road, Jianxin Town, Cangshan District, Fuzhou City, Fujian Province Patentee after: Baobao Bus Co.,Ltd. Address before: 350000 room 320, building 11, block B, Fuzhou Software Park, No. 89, software Avenue, Gulou District, Fuzhou City, Fujian Province Patentee before: FUZHOU ZHIYONG INFORMATION TECHNOLOGY Co.,Ltd. |
|
CP03 | Change of name, title or address |