一种恢复镜像文件的调试方法及装置技术领域
本发明实施例涉及系统开发技术领域,尤其涉及一种恢复镜像文件的调试
方法及装置。
背景技术
现在的安卓移动终端均存在一种恢复(recovery)模式,其作用在于做恢复
出厂设置以及系统升级等操作。执行该操作的方式可以是重启移动终端并在开
机后加载恢复镜像文件进入此模式;或者,按电源键与音量减按键,加载恢复
镜像文件进入此模式。恢复镜像文件由设备树相关文件(dt.img)、根文件系统
文件(ramdisk.img)及内核文件(kernel)三部分组成。
执行系统升级和恢复出厂设置的直接操作仅位于根文件系统文件中,而在
开发调试时,现有技术中工程师需要下载工程代码,修改工程代码中与恢复镜
像文件的根文件系统镜像文件中的恢复程序和/或资源文件对应的源代码。然后
编译修改后的整个工程代码,获得恢复镜像文件。最后将获得的恢复镜像文件
烧录至手机。然而,在调试过程中每次修改都需要编译整个工程代码,从而会
导致编译效率慢,进而降低工程师的调试开发效率。
发明内容
本发明实施例提供一种恢复镜像文件的调试方法及装置,以加快恢复镜像
文件的调试开发效率。
第一方面,本发明实施例提供了一种恢复镜像文件的调试方法,该方法包
括:
获取待调试恢复镜像文件;
修改待调试恢复镜像文件的恢复程序对应的源代码和/或修改待调试恢复
镜像文件的资源文件,并在修改待调试恢复镜像文件的恢复程序对应的源代码
时,编译获得修改后的恢复程序;
调用待调试恢复镜像文件中未修改文件的编译结果,并与修改后恢复程序
的编译结果和/或修改后的资源文件制作打包脚本,生成目标恢复镜像文件。
第二方面,本发明实施例还提供了一种恢复镜像文件的调试装置,该装置
包括:
待调试恢复镜像文件获取模块,用于获取待调试恢复镜像文件;
修改编译模块,用于修改待调试恢复镜像文件的恢复程序对应的源代码和/
或修改待调试恢复镜像文件的资源文件,并在修改待调试恢复镜像文件的恢复
程序对应的源代码时,编译获得修改后的恢复程序;
目标恢复镜像文件生成模块,用于调用待调试恢复镜像文件中未修改文件
的编译结果,并与修改后恢复程序的编译结果和/或修改后的资源文件制作打包
脚本,生成目标恢复镜像文件。
本实施例的技术方案,通过线获取待调试恢复镜像文件,并在调试过程中
根据需要修改待调试恢复镜像文件的恢复程序对应的源代码和/或修改待调试
恢复镜像文件的资源文件,并在修改待调试恢复镜像文件的恢复程序对应的源
代码时,编译获得修改后的恢复程序。然后,调用待调试恢复镜像文件中未修
改文件的编译结果,并与修改后恢复程序的编译结果和/或修改后的资源文件制
作打包脚本,生成目标恢复镜像文件。从而解决了现有技术中工程师在调试过
程中每次都需编译整个工程代码的问题,提高了编译效率和调试开发效率。
附图说明
图1是本发明实施例一提供的恢复镜像文件的调试方法的流程图;
图2是本发明实施二提供的恢复镜像文件的调试方法的流程图;
图3是本发明实施例三提供的恢复镜像文件的调试装置的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此
处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需
要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结
构。
实施例一
图1是本发明实施例一提供的恢复镜像文件的调试方法的流程图,本实施
例可适用于恢复镜像文件的调试开发,该方法可以由恢复镜像文件的调试装置
来执行,该装置可通过硬件和/或软件的方式实现,具体包括如下步骤:
S110、获取待调试恢复镜像文件;
其中获取该待调试恢复镜像文件的方式,可以是直接通过下载的系统工程
代码编译得到,也可以从已编译的系统工程代码中拷贝得到。
S120、修改待调试恢复镜像文件的恢复程序对应的源代码和/或修改待调试
恢复镜像文件的资源文件,并在修改待调试恢复镜像文件的恢复程序对应的源
代码时,编译获得修改后的恢复程序;
其中,恢复程序是直接执行系统升级或恢复出厂设置的程序。资源文件是
指包含着无需重新编译代码便可以改变的位图、字符串和其它数据,资源文件
可以包括:图标、词条、字库、主题及密钥中的一种或多种。
根据需要对根文件系统镜像文件中的恢复程序和/或资源文件进行修改。如
果对该恢复程序有修改,则对其进行编译,否则直接调用待调试恢复镜像文件
中的恢复程序的编译结果。例如,如果需要修改系统中的图标、词条、字库等
数据的时候,则只需要对待调试恢复镜像文件中的资源文件中的对应数据进行
修改;如果需要添加、减少或修复系统功能等需要修改恢复程序源代码的情况
时,则只需要对待调试镜像文件中的恢复程序的源代码进行修改,并对该修改
后的恢复程序源的代码进行编译;如果系统既有图标或词条等数据需要修改,
又有因添加、减少或修复系统功能等需要修改恢复程序源代码的情况时,则分
别对待调试恢复镜像文件中的恢复程序源代码和资源文件进行相应修改,并对
该修改后的恢复程序的源代码进行编译。
S130、调用待调试恢复镜像文件中未修改文件的编译结果,并与修改后恢
复程序的编译结果和/或修改后的资源文件制作打包脚本,生成目标恢复镜像文
件。
其中,目标恢复镜像文件为根据根文件系统镜像文件中的恢复程序和/或资
源文件进行的修改,重新编译并调用待调试恢复镜像文件中未修改文件的编译
结果打包制作的恢复镜像文件。恢复镜像文件包括:根文件系统镜像文件、设
备树相关镜像文件和内核镜像文件。根文件系统镜像文件又包括:恢复程序、
资源文件及其他相关文件。因为执行系统升级和恢复出厂设置的主要操作位于
根文件系统镜像文件中的恢复程序和资源文件中。所以,只需根据需要对该恢
复程序源代码和/或资源文件进行修改,并编译修改后的恢复程序源代码。其中,
将设备树相关镜像文件、内核镜像文件和根文件系统镜像文件中未做修改的部
分称为恢复镜像文件中未修改文件的编译结果。例如,如果仅有恢复程序有修
改变动时,则调用待调试恢复镜像文件中未修改文件的编译结果,并与修改和
编译后的恢复程序的编译结果制作打包脚本,生成目标恢复镜像文件。如果仅
有资源文件有修改时,则调用待调试恢复镜像文件中未修改文件的编译结果,
并与修改后的资源文件制作打包脚本,生成目标恢复镜像文件。又如果恢复程
序和资源文件都有修改时,则调用待调试恢复镜像文件中未修改文件的编译结
果,并与修改后恢复程序的编译结果和修改后的资源文件制作打包脚本,生成
目标恢复镜像文件。
本实施例的技术方案,通过先获取待调试恢复镜像文件,在调试过程中根
据需要修改待调试恢复镜像文件的恢复程序对应的源代码和/或修改待调试恢
复镜像文件的资源文件,并编译修改后的恢复程序的源代码,获得修改后的恢
复程序。然后,调用该待调试恢复镜像文件中未修改文件的编译结果,并与修
改后恢复程序的编译结果和/或修改后的资源文件制作打包脚本,生成目标恢复
镜像文件。若目标恢复镜像文件不符合调试效果时,仅需重复上述操作,进行
再次调试,因此,整个调试过程中,均可调用待调试恢复镜像文件中未修改文
件的编译结果,从而解决了现有技术中工程师在调试过程中,每次编译整个工
程代码,而造成的编译效率慢,调试开发效率低的问题。
需要说明的是,所述待调试恢复镜像文件中未修改文件的编译结果,可以
是通过编译待调试系统工程代码获得的恢复镜像文件中的未修改文件的编译结
果,还可以是通过拷贝待调试系统工程代码获得的恢复镜像文件中的未修改文
件的编译结果。
实施例二
图2是本发明实施例二提供的恢复镜像文件的调试方法的流程图,本实施
例在实施例一之后增加了目标恢复镜像文件烧录及对是否符合预设标准的判断,
该方法具体包括如下步骤:
S210、获取待调试恢复镜像文件。
S220、修改待调试恢复镜像文件的恢复程序对应的源代码和/或修改待调试
恢复镜像文件的资源文件,并在修改待调试恢复镜像文件的恢复程序对应的源
代码时,编译获得修改后的恢复程序。
S230、调用待调试恢复镜像文件中未修改文件的编译结果,并与修改后恢
复程序的编译结果和/或修改后的资源文件制作打包脚本,生成目标恢复镜像文
件。
S240、将所述目标恢复镜像文件烧录至移动终端的恢复分区,并运行判断
目标恢复镜像文件的调试结果是否符合预设标准。
若不符合预设标准,则将所述目标恢复镜像文件作为待调试恢复镜像文件,
返回执行操作S210。即,执行修改待调试恢复镜像文件的恢复程序对应的源代
码和/或修改待调试恢复镜像文件的资源文件,并在修改待调试恢复镜像文件的
恢复程序对应的源代码时,编译获得修改后的恢复程序的操作。
其中,恢复分区是在移动终端任意存储区域开辟的用来存储目标恢复镜像
文件的存储区。在恢复分区中运行目标恢复镜像文件,判断该运行结果是否符
合预设标准,该标准可以根据需求预设获得。如果符合预设标准,则结束对目
标恢复镜像文件的调试;否则,将该目标恢复镜像文件作为待调试恢复镜像文
件返回操作S210,继续按步骤根据需要对该待调试恢复镜像文件执行调试操作。
例如,当烧录至移动终端的目标恢复镜像文件运行后的结果符合预设标准时,
则表示调试成功,结束对目标恢复镜像文件的调试。当烧录至终端的目标恢复
镜像文件运行后的结果未到达预设标准时,则需要第二次调试,将第一次生成
的目标恢复镜像文件作为第二次调试时的待调试恢复镜像文件,返回操作S210,
继续按步骤对该待调试恢复镜像文件执行调试操作。如果烧录至移动终端的第
二次调试生成的目标恢复镜像文件运行后的结果仍未符合预设的标准,则继续
按上述步骤根据需要执行调试操作。以此类推,直到烧录至移动终端的目标恢
复镜像文件运行后的结果符合预设标准为止,则表示调试成功,并结束调试。
本实施例的技术方案,通过在在实施例一之后增加了目标恢复镜像文件烧
录及对是否符合预设标准的判断,实现根据目标恢复镜像文件的预设标准对待
调试恢复镜像文件按上述步骤自动循环调试。从而减少人工干预,提高调试效
率,进而提高开发人员的开发效率。
其中,制作打包脚本的格式优选如下:
以下提供一种制作打包脚本的具体实例:
其中,上述实施例中所述资源文件优选包括:图标、秘钥、词条、主题和
字库中的至少一种。以下提供一种修改资源文件的具体实例,如下所示:
实施例三
图3是本发明实施例三提供的恢复镜像文件的调试装置的模块结构示意图,
该装置具体包括:待调试恢复镜像文件获取模块1、修改编译模块2和目标恢
复镜像文件生成模块3。
其中,待调试恢复镜像文件获取模块1,用于获取待调试恢复镜像文件;
修改编译模块2,用于修改待调试恢复镜像文件的恢复程序对应的源代码和/或
修改待调试恢复镜像文件的资源文件,并在修改待调试恢复镜像文件的恢复程
序对应的源代码时,编译获得修改后的恢复程序;目标恢复镜像文件生成模块
3,用于调用待调试恢复镜像文件中未修改文件的编译结果,并与修改后恢复程
序的编译结果和/或修改后的资源文件制作打包脚本,生成目标恢复镜像文件。
本实施例的技术方案,通过先获取待调试恢复镜像文件,在调试过程中根
据需要修改待调试恢复镜像文件的恢复程序对应的源代码和/或修改待调试恢
复镜像文件的资源文件,并编译修改后的恢复程序的源代码,获得修改后的恢
复程序。然后,调用该待调试恢复镜像文件中未修改文件的编译结果,并与修
改后恢复程序的编译结果和/或修改后的资源文件制作打包脚本,生成目标恢复
镜像文件。若目标恢复镜像文件不符合调试效果时,仅需重复上述操作,进行
再次调试,因此,整个调试过程中,均可调用待调试恢复镜像文件中未修改文
件的编译结果,从而解决了现有技术中工程师在调试过程中,每次编译整个工
程代码,而造成的编译效率慢,调试开发效率低的问题。
为将调试结果应用于移动终端,同时使该装置实现循环调试的目的,该装
置还可以包括烧录判断模块,用于将所述目标恢复镜像文件烧录至移动终端的
恢复分区,并运行判断目标恢复镜像文件的调试结果是否符合预设标准;若不
符合预设标准,则将所述目标恢复镜像文件作为待调试恢复镜像文件,继续执
行修改待调试恢复镜像文件的恢复程序对应的源代码和/或修改待调试恢复镜
像文件的资源文件,并在修改待调试恢复镜像文件的恢复程序对应的源代码时,
编译获得修改后的恢复程序的操作。其中,若符合预设标准,则表示该装置调
试成功,结束对该装置的调试。
进一步的,所述待调试恢复镜像文件获取模块具体用于:通过编译系统工
程代码获得待调试恢复镜像文件,或,通过拷贝系统工程代码的编译结果获得
待调试恢复镜像文件。
进一步的,所述恢复程序为执行系统升级和/或恢复出厂设置的程序。
进一步的,所述资源文件包括:图标、词条、字库、主题及密钥中的至少
一种。
上述产品可执行本发明任意实施例所提供的方法,具备执行方法相应的功
能模块和有益效果。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员
会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进
行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽
然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以
上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,
而本发明的范围由所附的权利要求范围决定。