CN106873967A - 一种修复APP线上bug的方法和装置 - Google Patents
一种修复APP线上bug的方法和装置 Download PDFInfo
- Publication number
- CN106873967A CN106873967A CN201611232106.XA CN201611232106A CN106873967A CN 106873967 A CN106873967 A CN 106873967A CN 201611232106 A CN201611232106 A CN 201611232106A CN 106873967 A CN106873967 A CN 106873967A
- Authority
- CN
- China
- Prior art keywords
- app
- patch file
- prosthetic appliance
- mobile terminal
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 230000008439 repair process Effects 0.000 claims abstract description 31
- 230000000694 effects Effects 0.000 description 3
- 238000013515 script Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008021 deposition Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000002688 persistence Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/73—Program documentation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Library & Information Science (AREA)
- Stored Programmes (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明提出了一种修复APP线上bug的方法和装置,该修复APP线上bug的方法,包括:修复设备从移动终端服务器下载补丁文件;所述修复设备将所述补丁文件发送至移动终端;所述移动终端将所述补丁文件存放至主APP指定的指定目录下;在所述主APP启动时,所述主APP根据所述补丁文件修复线上bug,及时修复APP启动后出现的线上bug,确保APP正常运行。
Description
技术领域
本发明涉及移动终端技术领域,尤其涉及一种修复APP线上bug的方法和装置。
背景技术
目前市面上发布的App大都会出现线上bug的情况。为了避免等待发布的新版本,通常采用热修复技术来修复线上bug,即在App启动时,下载修复脚本,利用Objective-C的动态特性将线上bug的代码替换掉,确保App正常运行。但是,如果APP的线上bug发生在启动过程中,来不及下载并且加载补丁文件就出现APP崩溃的,导致用户无法使用该APP。因此,需要一种修复APP线上bug的方法和装置,以解决现有技术中存在的上述技术问题。
发明内容
本发明提供一种修复APP线上bug的方法和装置,及时修复APP启动后出现的线上bug,确保APP正常运行。
本发明采用的技术方案是:一种修复APP线上bug的方法,包括:修复设备从移动终端服务器下载补丁文件;所述修复设备将所述补丁文件发送至移动终端;所述移动终端将所述补丁文件存放至主APP指定的指定目录下;在所述主APP启动时,所述主APP根据所述补丁文件修复线上bug。
优选地,所述修复设备从移动终端服务器下载补丁文件,具体包括:所述修复设备安装对应所述主APP的扩展APP;所述扩展APP通过修复设备服务器发送补丁询问请求至所述移动终端服务器,以供所述述移动终端服务器返回所述补丁文件至所述修复设备服务器;所述扩展APP从所述修复设备服务器下载所述补丁文件。
优选地,所述修复设备将所述补丁文件发送至移动终端,具体包括:所述扩展APP通过文件传输协议将所述补丁文件发送至所述主APP对应的本地文件夹内。
优选地,所述补丁文件包括对应日期的补丁ID,所述修复设备从移动终端服务器下载补丁文件,具体包括:基于所述补丁ID,所述修复设备从移动终端服务器下载最新的补丁文件。
优选地,所述主APP根据所述补丁文件修复线上bug,具体包括:所述主APP从所述指定目录下读取所述最新的补丁文件;所述主APP根据所述最新的补丁文件修复所述线上bug。
本发明还提供了一种基于修复设备的修复APP线上bug的装置,包括:修复设备下载模块,用于修复设备从移动终端服务器下载补丁文件;修复设备转发模块,用于所述修复设备将所述补丁文件发送至移动终端;存储模块,用于所述移动终端将所述补丁文件存放至主APP指定的指定目录下;修复模块,用于在所述主APP启动时,所述主APP根据所述补丁文件修复线上bug。
优选地,所述修复设备下载模块,具体用于:所述修复设备安装对应所述主APP的扩展APP;所述扩展APP通过修复设备服务器发送补丁询问请求至所述移动终端服务器,以供所述述移动终端服务器返回所述补丁文件至所述修复设备服务器;所述扩展APP从所述修复设备服务器下载所述补丁文件。
优选地,所述修复设备转发模块,具体用于:所述扩展APP通过文件传输协议将所述补丁文件发送至所述主APP对应的本地文件夹内。
优选地,所述补丁文件包括对应日期的补丁ID,所述修复设备下载模块,具体用于:基于所述补丁ID,所述修复设备从移动终端服务器下载最新的补丁文件。
优选地,所述修复模块,具体用于:所述主APP从所述指定目录下读取所述最新的补丁文件;所述主APP根据所述最新的补丁文件修复所述线上bug。
采用上述技术方案,本发明至少具有下列效果:
本发明的基于修复设备的修复APP线上bug的方法,通过预先将补丁文件下载至移动终端上,在APP启动后顺利获得该补丁文件,避免APP崩溃。
附图说明
图1为本发明第一实施例修复APP线上bug的方法的流程图;
图2为本发明第二实施例修复APP线上bug的方法的流程图;
图3为本发明第四实施例修复APP线上bug的方法的流程图;
图4为本发明第五实施例、第六实施例、第七实施例和第八实施例修复APP线上bug的装置的方框图。
具体实施方式
为更进一步阐述本发明为达成预定目的所采取的技术手段及功效,以下结合附图及较佳实施例,对本发明进行详细说明如后。
需要说明的是,本发明中提到的移动终端可以包括:手机、平板电脑或者智能手表等,修复设备也可以包括:手机、平板电脑或者智能手表等。
本发明提供的修复设备修复APP线上bug的方法,在App没有启动的情况下将补丁文件下载至移动设备上,当APP启动后第一时间获取补丁文件修复线上bug,解决了获取修复脚本之前,APP崩溃的问题。下面将详细地描述本发明修复设备的修复APP线上bug的方法及其各个步骤。
第一实施例
如图1所示,本实施例公开的基于修复设备的修复APP线上bug的方法,包括:步骤S10:修复设备从移动终端服务器下载补丁文件。步骤S20:修复设备将补丁文件发送至移动终端。步骤S30:移动终端将补丁文件存放至主APP指定的指定目录下。以及步骤S40:在主APP启动时,主APP根据补丁文件修复线上bug。
本实施例的修复APP线上bug的方法,利用修复设备下载补丁文件后发送至手机上,手机操作系统在后台激活主APP,主APP将补丁文件保存至手机本地,在主APP下次执行前台启动时获取补丁文件来修复主APP的线上bug,解决了主APP在启动过程中发生崩溃的问题。
第二实施例
如图2所示,在第一实施例的基础上,本实施例的修复APP线上bug的方法中,步骤S10:修复设备从移动终端服务器下载补丁文件,具体包括:步骤S100:修复设备安装对应主APP的扩展APP;步骤S101:扩展APP通过修复设备服务器发送补丁询问请求至移动终端服务器,以供述移动终端服务器返回补丁文件至修复设备服务器;步骤S102:扩展APP从修复设备服务器下载补丁文件。
本实施例的修复APP线上bug的方法中,首先在修复设备上安装了对应主APP的扩展APP,即移动终端和修复设备分别安装了同一款APP,为了区别起见,安装在移动终端上的APP为主APP,安装在修复设备上的APP为扩展APP,两者均是可以独立运行的常规APP,不过唯一不同的是,主APP登陆移动终端服务器,而扩展APP登陆修复设备服务器,其中移动终端服务器与修复设备服务器可以交互。
本实施例的修复APP线上bug的方法可以在主APP启动之前,由扩展APP从修复设备服务器下载补丁文件。
第三实施例
在第二实施例的基础上,本实施例的修复APP线上bug的方法中,步骤S20:修复设备将补丁文件发送至移动终端,具体包括:扩展APP通过文件传输协议将补丁文件发送至主APP对应的本地文件夹内。
例如苹果公司的iPhone和appleWatch可以相互传送文件,尤其是watchOS2.0以后针对同一款App的Watch版本和iPhone版本之间可以通过苹果提供的文件传输协议WatchConnectivity框架进行文件传输。由此第二实施例通过appleWatch的扩展App通过Applewatch服务器从移动终端服务器下载补丁文件,本实施例将该补丁文件发送至移动终端上运行的iPhone操作系统指定的目录下。
实施本实施例的前提条件是iPhone和appleWatch完成配对并保持联通状态,由此iPhone和appleWatch之间可以通过WatchConnectivity框架进行数据的传输。
第四实施例
如图2和图3所示,在第一实施例至第三实施例的基础上,本实施例的修复APP线上bug的方法中,补丁文件包括对应日期的补丁ID,步骤S10:修复设备从移动终端服务器下载补丁文件,具体包括:步骤S104:基于补丁ID,修复设备从移动终端服务器下载最新的补丁文件。
相应地,步骤S40:主APP根据补丁文件修复线上bug,具体包括:步骤S400:主APP从指定目录下读取最新的补丁文件;步骤S401:主APP根据最新的补丁文件修复线上bug。
如图2所示,APP开发人员发现bug后,修正出现bug的代码,把修复代码转换为JS或者lua语言脚本,保存为补丁文件后,将补丁文件上传至主APP对应的移动终端服务器上,同时生成一个对应日期的补丁ID。在用户启动主APP之前,启动AppleWatch上的扩展APP之后,通过AppleWatch服务器向移动终端服务器询问是否有补丁文件,如果有则将补丁ID最新近的最新的补丁返回给扩展APP。扩展APP发现返回的数据中携带最新的补丁文件,则通过WatchConnectivity框架将最新的补丁文件发送至移动终端上的主APP的Documents/Inbox目录下(这是一个临时存放地址)。然后主APP在前台启动时,判断本地Documents/Inbox目录下有没有补丁文件,如果有补丁文件,则将补丁文件先转移到另一个永久保存补丁文件的文件夹下,之后主APP读取该永久保存补丁文件的文件夹下最新的补丁文件,然后把最新的补丁文件中的代码解析出来,利用objective-c的动态性和运行时机制,替换主APP包中旧的错误代码,APP继续顺利执行启动过程,线上bug得以修复,不会crash。
第五实施例
如图4所示,本实施例提供了一种基于修复设备的修复APP线上bug的装置,包括:修复设备下载模块10,用于修复设备从移动终端服务器下载补丁文件;修复设备转发模块20,用于修复设备将补丁文件发送至移动终端;存储模块30,用于移动终端将补丁文件存放至主APP指定的指定目录下;修复模块40,用于在主APP启动时,主APP根据补丁文件修复线上bug。
第六实施例
在第五实施例的基础上,修复设备下载模块10,具体用于:修复设备安装对应主APP的扩展APP;扩展APP通过修复设备服务器发送补丁询问请求至移动终端服务器,以供述移动终端服务器返回补丁文件至修复设备服务器;扩展APP从修复设备服务器下载补丁文件。
第七实施例
在第六实施例的基础上,修复设备转发模块20,具体用于:扩展APP通过文件传输协议将补丁文件发送至主APP对应的本地文件夹内。
第八实施例
在第五实施例的基础上,补丁文件包括对应日期的补丁ID,修复设备下载模块10,具体用于:基于补丁ID,修复设备从移动终端服务器下载最新的补丁文件。
相应地,修复模块40,具体用于:主APP从指定目录下读取最新的补丁文件;主APP根据最新的补丁文件修复线上bug。
通过具体实施方式的说明,应当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图示仅是提供参考与说明之用,并非用来对本发明加以限制。
Claims (10)
1.一种修复APP线上bug的方法,其特征在于,包括:
修复设备从移动终端服务器下载补丁文件;
所述修复设备将所述补丁文件发送至移动终端;
所述移动终端将所述补丁文件存放至主APP指定的指定目录下;
在所述主APP启动时,所述主APP根据所述补丁文件修复线上bug。
2.根据权利要求1所述的方法,其特征在于,所述修复设备从移动终端服务器下载补丁文件,具体包括:
所述修复设备安装对应所述主APP的扩展APP;
所述扩展APP通过修复设备服务器发送补丁询问请求至所述移动终端服务器,以供所述述移动终端服务器返回所述补丁文件至所述修复设备服务器;
所述扩展APP从所述修复设备服务器下载所述补丁文件。
3.根据权利要求2所述的方法,其特征在于,所述修复设备将所述补丁文件发送至移动终端,具体包括:
所述扩展APP通过文件传输协议将所述补丁文件发送至所述主APP对应的本地文件夹内。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述补丁文件包括对应日期的补丁ID,所述修复设备从移动终端服务器下载补丁文件,具体包括:
基于所述补丁ID,所述修复设备从移动终端服务器下载最新的补丁文件。
5.根据权利要求4所述的方法,其特征在于,所述主APP根据所述补丁文件修复线上bug,具体包括:
所述主APP从所述指定目录下读取所述最新的补丁文件;
所述主APP根据所述最新的补丁文件修复所述线上bug。
6.一种修复APP线上bug的装置,其特征在于,包括:
修复设备下载模块,用于修复设备从移动终端服务器下载补丁文件;
修复设备转发模块,用于所述修复设备将所述补丁文件发送至移动终端;
存储模块,用于所述移动终端将所述补丁文件存放至主APP指定的指定目录下;
修复模块,用于在所述主APP启动时,所述主APP根据所述补丁文件修复线上bug。
7.根据权利要求6所述的装置,其特征在于,所述修复设备下载模块,具体用于:
所述修复设备安装对应所述主APP的扩展APP;
所述扩展APP通过修复设备服务器发送补丁询问请求至所述移动终端服务器,以供所述述移动终端服务器返回所述补丁文件至所述修复设备服务器;
所述扩展APP从所述修复设备服务器下载所述补丁文件。
8.根据权利要求7所述的装置,其特征在于,所述修复设备转发模块,具体用于:
所述扩展APP通过文件传输协议将所述补丁文件发送至所述主APP对应的本地文件夹内。
9.根据权利要求6至8中任一项所述的装置,其特征在于,所述补丁文件包括对应日期的补丁ID,所述修复设备下载模块,具体用于:
基于所述补丁ID,所述修复设备从移动终端服务器下载最新的补丁文件。
10.根据权利要求9所述的装置,其特征在于,所述修复模块,具体用于:
所述主APP从所述指定目录下读取所述最新的补丁文件;
所述主APP根据所述最新的补丁文件修复所述线上bug。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611232106.XA CN106873967A (zh) | 2016-12-28 | 2016-12-28 | 一种修复APP线上bug的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611232106.XA CN106873967A (zh) | 2016-12-28 | 2016-12-28 | 一种修复APP线上bug的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106873967A true CN106873967A (zh) | 2017-06-20 |
Family
ID=59164070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611232106.XA Pending CN106873967A (zh) | 2016-12-28 | 2016-12-28 | 一种修复APP线上bug的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106873967A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110262838A (zh) * | 2019-06-14 | 2019-09-20 | 深圳乐信软件技术有限公司 | 一种程序崩溃的处理方法、装置、终端及存储介质 |
CN111897555A (zh) * | 2019-05-06 | 2020-11-06 | 阿里巴巴集团控股有限公司 | 客户端的动态更新方法、装置、系统及终端设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101931944A (zh) * | 2010-07-23 | 2010-12-29 | 华为终端有限公司 | 在线升级终端补丁的方法、装置与系统 |
CN102546246A (zh) * | 2011-12-28 | 2012-07-04 | 创新科存储技术(深圳)有限公司 | 一种软件自动升级的方法及系统 |
CN103246528A (zh) * | 2012-02-10 | 2013-08-14 | 中兴通讯股份有限公司 | 软件升级方法和装置 |
CN104572207A (zh) * | 2015-01-20 | 2015-04-29 | 广东欧珀移动通信有限公司 | 一种基于智能配件的app扩展使用方法及智能配件 |
CN104850429A (zh) * | 2015-04-22 | 2015-08-19 | 北京五悦信息科技有限公司 | 一种面向智能设备的软件升级方法及系统 |
US20150268944A1 (en) * | 2014-03-20 | 2015-09-24 | Motorola Mobility Llc | Methods and Devices for Wireless Device-To-Device Software Upgrades |
CN105320554A (zh) * | 2015-12-11 | 2016-02-10 | 网易(杭州)网络有限公司 | 程序更新的方法、用于程序更新的客户端及系统 |
-
2016
- 2016-12-28 CN CN201611232106.XA patent/CN106873967A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101931944A (zh) * | 2010-07-23 | 2010-12-29 | 华为终端有限公司 | 在线升级终端补丁的方法、装置与系统 |
CN102546246A (zh) * | 2011-12-28 | 2012-07-04 | 创新科存储技术(深圳)有限公司 | 一种软件自动升级的方法及系统 |
CN103246528A (zh) * | 2012-02-10 | 2013-08-14 | 中兴通讯股份有限公司 | 软件升级方法和装置 |
US20150268944A1 (en) * | 2014-03-20 | 2015-09-24 | Motorola Mobility Llc | Methods and Devices for Wireless Device-To-Device Software Upgrades |
CN104572207A (zh) * | 2015-01-20 | 2015-04-29 | 广东欧珀移动通信有限公司 | 一种基于智能配件的app扩展使用方法及智能配件 |
CN104850429A (zh) * | 2015-04-22 | 2015-08-19 | 北京五悦信息科技有限公司 | 一种面向智能设备的软件升级方法及系统 |
CN105320554A (zh) * | 2015-12-11 | 2016-02-10 | 网易(杭州)网络有限公司 | 程序更新的方法、用于程序更新的客户端及系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111897555A (zh) * | 2019-05-06 | 2020-11-06 | 阿里巴巴集团控股有限公司 | 客户端的动态更新方法、装置、系统及终端设备 |
CN111897555B (zh) * | 2019-05-06 | 2024-06-07 | 阿里巴巴集团控股有限公司 | 客户端的动态更新方法、装置、系统及终端设备 |
CN110262838A (zh) * | 2019-06-14 | 2019-09-20 | 深圳乐信软件技术有限公司 | 一种程序崩溃的处理方法、装置、终端及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105389222B (zh) | 一种动态调用原生接口的方法、装置和系统 | |
US8464240B2 (en) | Method and system for controlling software version updates | |
CN108241500B (zh) | 一种硬件组件的修复方法、装置、系统和存储介质 | |
CN106610839B (zh) | 发布升级包的方法、轻量升级方法、装置及系统 | |
CN104834555A (zh) | 调用功能模块的方法、相关装置及装置修复方法 | |
CN106843933A (zh) | 一种应用程序的漏洞修复方法、移动终端及补丁服务器 | |
CN110580183A (zh) | 一种移动应用组件化实现方法 | |
US20170262263A1 (en) | Process and system for the generation of an operating program in the form of a mobile application that is capable of operating on a mobile device | |
CN104423955A (zh) | 实现iOS应用自动编译的方法及系统 | |
US10303463B2 (en) | Terminal management framework and terminal management method | |
CN106126273A (zh) | 一种升级bios的方法 | |
US9654343B2 (en) | System and method for managing service characteristics | |
CN103353845A (zh) | 脚本加载、推送方法及装置 | |
CN104216749A (zh) | 一种应用程序的更新方法及装置 | |
CN102571860A (zh) | 一种管理插件的方法、装置及系统 | |
CN104038520A (zh) | 一种多版本分布式资源管理方法和系统 | |
CN104052769A (zh) | 一种对移动终端应用包含的资源更新的方法、装置和系统 | |
CN106909386A (zh) | 一种云平台代码持续集成方法及系统 | |
CN103634393A (zh) | Ivr及其实现方法 | |
CN118170431B (zh) | 跨操作系统的业务迁移方法、装置及电子设备 | |
CN113064685A (zh) | 一种h5页面加载方法及装置 | |
CN103440143A (zh) | 移动web应用升级系统及方法 | |
CN106775873A (zh) | 更新手机软件、获取补丁文件的方法及设备 | |
CN106873967A (zh) | 一种修复APP线上bug的方法和装置 | |
CN107436756A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170620 |
|
RJ01 | Rejection of invention patent application after publication |