系统客制化方法、装置及计算机可读存储介质
技术领域
本发明涉及软硬件开发技术领域,尤其涉及一种系统客制化方法、装置及计算机可读存储介质。
背景技术
随着科技的迅速发展,人们追求个性化的要求越来越高。通常,用户在使用系统一段时间后,将会根据自己的个性化需求对系统的一些默认属性进行修改,例如开机画面、默认语言、背光亮度等。
然而,修改系统的默认属性需要让提供商重新编译发布系统固件,对于提供商来说,重新编写源代码,并且需要提供商上门重新烧录系统固件至用户硬件设备,十分耗费时间;对于用户来说,需要将自己的需求明确告诉提供商,无法保护用户的个人隐私。因此,如何实现系统的客制化功能是目前亟需解决的问题。
发明内容
本发明的主要目的在于提供一种系统客制化方法、装置及计算机可读存储介质,旨在实现系统的客制化功能,以提高系统客制化效率。
为实现上述目的,本发明提供一种系统客制化方法,所述系统客制化方法包括以下步骤:
获取客制化目录中的客制化文件,并检测所述客制化文件是否有修改;
若所述客制化文件有修改,则获取所述客制化文件的类型;
根据所述类型,对所述客制化文件进行加载,以实现用户的需求。
可选地,所述系统客制化方法应用于嵌入式系统设备,所述根据所述类型,对所述客制化文件进行加载,以实现用户的需求的步骤包括:
根据所述类型,检测所述嵌入式系统设备的各个分区是否需要加载所述客制化文件,得到所述各个分区的检测结果;
根据所述各个分区的检测结果,确定需要加载所述客制化文件的加载阶段;
根据所述加载阶段,对所述客制化文件进行加载,以实现用户的需求。
可选地,所述根据所述类型,检测所述嵌入式系统设备的各个分区是否需要加载所述客制化文件,得到所述各个分区的检测结果的步骤包括:
根据所述类型,依次检测引导加载程序bootloader分区、系统内核kernel分区及系统system分区是否需要加载所述客制化文件,得到所述bootloader分区、kernel分区及system分区的检测结果;
其中,所述根据所述各个分区的检测结果,确定需要加载所述客制化文件的加载阶段的步骤包括:
若所述bootloader分区的检测结果为需要加载所述客制化文件,则将所述bootloader分区加入需要加载所述客制化文件的加载阶段;
若所述kernel分区的检测结果为需要加载所述客制化文件,则将所述kernel分区加入所述加载阶段;
若所述system分区的检测结果为需要加载所述客制化文件,则将所述system分区加入所述加载阶段。
可选地,所述获取客制化目录中的客制化文件,并检测所述客制化文件是否有修改的步骤包括:
获取客制化目录中的客制化文件,并对所述客制化文件进行检验;
若所述客制化文件检验正确,则系统识别所述客制化文件,并检测所述客制化文件是否有修改。
可选地,所述若所述客制化文件有修改,则获取所述客制化文件的类型的步骤包括:
若所述客制化文件有修改,则获取所述客制化文件的名称;
根据所述名称,确定所述客制化文件的类型。
可选地,所述系统客制化方法应用于嵌入式系统设备,所述若所述客制化文件有修改,则获取所述客制化文件的类型的步骤之前,还包括:
将所述嵌入式系统设备进行重启;
采用所述嵌入式系统设备的bootloader分区,对所述客制化文件进行解析,以供获取所述客制化文件的类型。
可选地,所述获取客制化目录中的客制化文件,并检测所述客制化文件是否有修改的步骤之前,还包括:
当终端接收到客制化文件时,对所述客制化文件进行审核;
若所述客制化文件审核通过,则对所述客制化文件进行签名,以供在获取客制化文件时进行签名检验;
将签名后的客制化文件保存至所述终端的客制化目录。
可选地,所述获取客制化目录中的客制化文件,并检测所述客制化文件是否有修改的步骤之前,还包括:
当终端检测到系统固件完成烧录时,将所述系统固件保存至系统目录,并设定所述系统固件的权限为系统应用权限。
此外,为实现上述目的,本发明还提供一种系统客制化装置,所述系统客制化装置包括:
文件检测模块,用于获取客制化目录中的客制化文件,并检测所述客制化文件是否有修改;
类型获取模块,用于若所述客制化文件有修改,则获取所述客制化文件的类型;
文件加载模块,用于根据所述类型,对所述客制化文件进行加载,以实现用户的需求。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有系统客制化程序,所述系统客制化程序被处理器执行时实现如上所述的系统客制化方法的步骤。
本发明提供一种系统客制化方法、装置及计算机可读存储介质,获取客制化目录中的客制化文件,并检测客制化文件是否有修改;若客制化文件有修改,则获取客制化文件的类型;根据类型,对客制化文件进行加载,以实现用户的需求。通过上述方式,本发明只需要用户把客制化文件放入客制化目录中,然后终端将会检测客制化文件是否有修改,以使对有修改的客制化文件进行分析得到客制化文件的类型,即分析得到用户的系统设置修改意图,最后,将客制化文件根据类型进行加载,从而分别实现用户的各个需求。相比于重新编写源代码,并重新烧录系统固件,本发明可实现系统的客制化功能,以提高系统客制化效率。
附图说明
图1为本发明实施例方案涉及的硬件运行环境的终端结构示意图;
图2为本发明系统客制化方法第一实施例的流程示意图;
图3为本发明系统客制化装置第一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的终端结构示意图。
本发明实施例终端为系统客制化设备,该系统客制化设备可以为嵌入式系统设备、安卓手机、PC(personal computer,个人计算机)、微型计算机、笔记本电脑等终端设备。
如图1所示,该终端可以包括:处理器1001,例如CPU(Central Processing Unit,中央处理器),通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及系统客制化程序。
在图1所示的终端中,处理器1001可以用于调用存储器1005中存储的系统客制化程序,并执行以下操作:
获取客制化目录中的客制化文件,并检测所述客制化文件是否有修改;
若所述客制化文件有修改,则获取所述客制化文件的类型;
根据所述类型,对所述客制化文件进行加载,以实现用户的需求。
进一步地,所述系统客制化方法应用于嵌入式系统设备,处理器1001可以用于调用存储器1005中存储的系统客制化程序,还执行以下操作:
根据所述类型,检测所述嵌入式系统设备的各个分区是否需要加载所述客制化文件,得到所述各个分区的检测结果;
根据所述各个分区的检测结果,确定需要加载所述客制化文件的加载阶段;
根据所述加载阶段,对所述客制化文件进行加载,以实现用户的需求。
进一步地,处理器1001可以用于调用存储器1005中存储的系统客制化程序,还执行以下操作:
根据所述类型,依次检测引导加载程序bootloader分区、系统内核kernel分区及系统system分区是否需要加载所述客制化文件,得到所述bootloader分区、kernel分区及system分区的检测结果;
其中,所述根据所述各个分区的检测结果,确定需要加载所述客制化文件的加载阶段的步骤包括:
若所述bootloader分区的检测结果为需要加载所述客制化文件,则将所述bootloader分区加入需要加载所述客制化文件的加载阶段;
若所述kernel分区的检测结果为需要加载所述客制化文件,则将所述kernel分区加入所述加载阶段;
若所述system分区的检测结果为需要加载所述客制化文件,则将所述system分区加入所述加载阶段。
进一步地,处理器1001可以用于调用存储器1005中存储的系统客制化程序,还执行以下操作:
获取客制化目录中的客制化文件,并对所述客制化文件进行检验;
若所述客制化文件检验正确,则系统识别所述客制化文件,并检测所述客制化文件是否有修改。
进一步地,处理器1001可以用于调用存储器1005中存储的系统客制化程序,还执行以下操作:
若所述客制化文件有修改,则获取所述客制化文件的名称;
根据所述名称,确定所述客制化文件的类型。
进一步地,所述系统客制化方法应用于嵌入式系统设备,处理器1001可以用于调用存储器1005中存储的系统客制化程序,还执行以下操作:
将所述嵌入式系统设备进行重启;
采用所述嵌入式系统设备的bootloader分区,对所述客制化文件进行解析,以供获取所述客制化文件的类型。
进一步地,处理器1001可以用于调用存储器1005中存储的系统客制化程序,还执行以下操作:
当终端接收到客制化文件时,对所述客制化文件进行审核;
若所述客制化文件审核通过,则对所述客制化文件进行签名,以供在获取客制化文件时进行签名检验;
将签名后的客制化文件保存至所述终端的客制化目录。
进一步地,处理器1001可以用于调用存储器1005中存储的系统客制化程序,还执行以下操作:
当终端检测到系统固件完成烧录时,将所述系统固件保存至系统目录,并设定所述系统固件的权限为系统应用权限。
基于上述硬件结构,提出本发明系统客制化方法各个实施例。
本发明提供一种系统客制化方法。
参照图2,图2为本发明系统客制化方法第一实施例的流程示意图。
在本实施例中,该系统客制化方法包括:
步骤S10,获取客制化目录中的客制化文件,并检测所述客制化文件是否有修改;
在本实施例中,获取客制化目录中的客制化文件,并检测客制化文件是否有修改。其中,客制化目录为预先创建的目录,用于存放客制化文件的特定目录,该客制化目录可以为1个或多个,若客制化目录设定为多个,则可以根据存放的文件类型设定多个客制化目录。
需要说明的是,用户可修改客制化目录中的客制化文件,也可以重新载入客制化文件,以替代相同名称的客制化文件。客制化文件可根据其名称进行类型区分,例如名称叫做lcd_parameters_edp、lcd_parameters_lvds、lcd_parameters_mipi的三个文件,分别用于修改edp、lvds、mipi三个类型屏幕的参数;名称叫做logo.bmp的图片文件,用于修改开机画面;名称叫做customer.prop的文件,用于保存系统属性值,以配置系统的各个属性。
此外,还需要说明的是,获取客制化目录中的客制化文件,可对客制化文件进行校验,校验包括数字签名校验、文件类型校验等,以校验客制化文件是否正确。其中,为实现数字签名校验,需要对放入客制化目录的客制化文件进行签名处理,即对客制化文件添加对应的签名信息,例如未进行签名处理的客制化文件,其内容为“ABC”,通过签名工具进行签名后,其内容为“123ABC”,即签名信息为“123”,在进行数字签名校验时,只要识别到“123”就校验正确,同时,在后续进行加载处理时,只需获取客制化文件中的“ABC”即可。
可以理解,检测客制化文件是否有修改可通过hash(单向散列函数算法)算法对文件进行处理,然后间隔一段时间就对其hash值进行对比,若hash值不一样,则客制化文件有修改,若hash值一样,则客制化文件无修改。其中,该hash算法可根据实际需要进行设定,例如MD5算法(Message Digest Algorithm 5,消息摘要算法)及SHA算法(Secure HashAlgorithm,安全哈希算法)等Hash算法,此处不作具体限定。由于单向散列函数算法具有唯一性及不可逆等特性,所以可用来检测文件是否有修改。
步骤S20,若所述客制化文件有修改,则获取所述客制化文件的类型;
在本实施例中,若客制化文件有修改,则获取客制化文件的类型。其中,获取客制化文件的类型可用于分析用户的意图,即分析用户进行系统设置的具体操作,以使系统根据该意图进行后续的加载操作,从而实现特定的功能。获取客制化文件的类型可以根据文件名称进行确定,也可以根据文件后缀或文件格式等进行确定,此处不作具体限定。
具体的,步骤S20包括:
步骤a21,若所述客制化文件有修改,则获取所述客制化文件的名称;
步骤a22,根据所述名称,确定所述客制化文件的类型。
在本实施例中,若客制化文件有修改,则获取客制化文件的名称,然后,根据名称,确定客制化文件的类型。
其中,客制化文件的名称可根据情况进行设定,例如名称叫做lcd_parameters_edp、lcd_parameters_lvds、lcd_parameters_mipi的三个文件,分别用于修改edp、lvds、mipi三个类型屏幕的参数;名称叫做logo.bmp的图片文件,用于修改开机画面;名称叫做customer.prop的文件,用于保存系统属性值,以配置系统的各个属性,因此,根据文件名称就可以确定文件类型。
步骤S30,根据所述类型,对所述客制化文件进行加载,以实现用户的需求。
在本实施例中,根据类型,对客制化文件进行加载,以实现用户的需求。需要说明的是,不同类型的文件,其进行加载的分区不一样,对于嵌入式系统来说,比如安卓系统,需要根据每个节点的顺序,依次检测嵌入式系统设备的各个分区是否需要加载客制化文件,然后,根据检测结果,确定其具体的加载阶段。
例如,若客制化文件为lcd_parameters_edp、lcd_parameters_lvds、lcd_parameters_mipi等文件,那么bootloader(引导加载程序)分区和kernel(系统内核)分区会加载该客制化文件;若客制化文件为logo.bmp,那么bootloader会加载该客制化文件;若客制化文件为customer.prop,那么system(系统)分区会加载该客制化文件,其中,bootloader可以为u-boot,具体的执行过程可参照下述第二实施例,此处不再一一赘述。
本发明实施例提供一种系统客制化方法,获取客制化目录中的客制化文件,并检测客制化文件是否有修改;若客制化文件有修改,则获取客制化文件的类型;根据类型,对客制化文件进行加载,以实现用户的需求。通过上述方式,本发明实施例只需要用户把客制化文件放入客制化目录中,然后终端将会检测客制化文件是否有修改,以使对有修改的客制化文件进行分析得到客制化文件的类型,即分析得到用户的系统设置修改意图,最后,将客制化文件根据类型进行加载,从而分别实现用户的各个需求。相比于重新编写源代码,并重新烧录系统固件,本发明实施例可实现系统的客制化功能,以提高系统客制化效率。
进一步地,基于上述第一实施例,提出本发明系统客制化方法的第二实施例。
在本实施例中,上述步骤S30包括:
步骤a31,根据所述类型,检测所述嵌入式系统设备的各个分区是否需要加载所述客制化文件,得到所述各个分区的检测结果;
步骤a32,根据所述各个分区的检测结果,确定需要加载所述客制化文件的加载阶段;
步骤a33,根据所述加载阶段,对所述客制化文件进行加载,以实现用户的需求。
在本实施例中,根据类型,检测嵌入式系统设备的各个分区是否需要加载客制化文件,得到各个分区的检测结果,然后,根据各个分区的检测结果,确定需要加载客制化文件的加载阶段,最后,根据加载阶段,对客制化文件进行加载,以实现用户的需求。
需要说明的是,若嵌入式系统设备的各个分区为bootloader分区、kernel分区及system分区,当然,还可以包括其他分区,此处不作限定,同时,bootloader为u-boot。首先,根据客制化文件的类型,在u-boot分区判断是否需要加载客制化文件,若需要加载客制化文件,则确定加载阶段包括u-boot分区,在检测完u-boot分区之后,在kernel分区判断是否需要加载客制化文件,若需要加载客制化文件,则确定加载阶段包括kernel分区,在检测完kernel分区之后,在system分区判断是否需要加载客制化文件,若需要加载客制化文件,则确定加载阶段包括system分区,最后,终端开机完成,并实现了用户的需求。
具体的,步骤a31包括:
步骤a311,根据所述类型,依次检测引导加载程序bootloader分区、系统内核kernel分区及系统system分区是否需要加载所述客制化文件,得到所述bootloader分区、kernel分区及system分区的检测结果。
在本实施例中,根据类型,依次检测引导加载程序bootloader分区、系统内核kernel分区及系统system分区是否需要加载所述客制化文件,得到bootloader分区、kernel分区及system分区的检测结果。其中,检测结果包括需要加载客制化文件及不需要加载客制化文件。可以理解,根据嵌入式系统分区的加载流程,依次检测各个分区,可进一步提高系统客制化效率。
在步骤a311的基础上,步骤a32包括:
步骤a321,若所述bootloader分区的检测结果为需要加载所述客制化文件,则将所述bootloader分区加入需要加载所述客制化文件的加载阶段;
步骤a322,若所述kernel分区的检测结果为需要加载所述客制化文件,则将所述kernel分区加入所述加载阶段;
步骤a323,若所述system分区的检测结果为需要加载所述客制化文件,则将所述system分区加入所述加载阶段。
在本实施例中,若bootloader分区的检测结果为需要加载客制化文件,则将bootloader分区加入需要加载客制化文件的加载阶段;若kernel分区的检测结果为需要加载客制化文件,则将kernel分区加入加载阶段;若system分区的检测结果为需要加载客制化文件,则将system分区加入加载阶段。
需要说明的是,不同客制化文件所加载的分区可能不一样,同一个客制化文件可在多个分区进行加载,例如,若客制化文件为lcd_parameters_edp、lcd_parameters_lvds、lcd_parameters_mipi等文件,那么bootloader分区和kernel分区会加载该客制化文件;若客制化文件为logo.bmp,那么bootloader会加载该客制化文件;若客制化文件为customer.prop,那么system分区会加载该客制化文件。
可以理解,在各个分区加载对应的客制化文件,以使终端实现相应的功能。例如,在bootloader分区和kernel分区中,分别加载lcd_parameters_edp、lcd_parameters_lvds、lcd_parameters_mipi等屏幕配置文件,可实现背光亮度、分辨率、对比度等参数的调节;在bootloader分区加载logo.bmp的图片文件,可实现开机画面的更换;在system分区加载customer.prop的客制化文件,可实现系统方向、系统属性的配置。
本实施例中,根据客制化文件的类型,即根据用户的系统配置意图,检测各个分区是否需要加载客制化文件,以使客制化文件在特定的分区下进行加载,以实现其特定的功能,可提高系统客制化的准确性。
进一步地,基于上述第一实施例,提出本发明系统客制化方法的第三实施例。
在本实施例中,上述步骤S10包括:
步骤a11,获取客制化目录中的客制化文件,并对所述客制化文件进行检验;
步骤a12,若所述客制化文件检验正确,则系统识别所述客制化文件,并检测所述客制化文件是否有修改。
在本实施例中,获取客制化目录中的客制化文件,并对客制化文件进行检验,然后,若客制化文件检验正确,则系统识别客制化文件,并检测客制化文件是否有修改。
需要说明的是,对所述客制化文件进行检验包括数字签名校验、文件类型校验等,以校验客制化文件是否正确。其中,为实现数字签名校验,需要对客制化文件进行签名处理,即对客制化文件添加对应的签名信息,例如未进行签名处理的客制化文件,其内容为“ABC”,通过签名工具进行签名后,其内容为“123ABC”,即签名信息为“123”,在进行数字签名校验时,只要识别到“123”就校验正确,在校验正确后,系统就可识别到该客制化文件同时,在后续进行加载处理时,只需获取客制化文件中的“ABC”即可。此外,若检验错误,即未识别到“123”的数字签名,可将客制化文件进行删除,以避免无关人员输入其他文件,恶意修改系统配置。
此外,还需要说明的是,数字签名检验可通过设置公私钥,并进行加密处理实现。具体的,采用私钥对客制化文件进行非对称加密,采用公钥对客制化文件进行非对称解密,以实现数字签名校验。其中进行非对称加密需要使用非对称加密算法,以实现对客制化文件进行数字签名。非对称加密算法又称公钥加密算法,该非对称加密算法可根据实际需要进行设定,例如RSA(Rivest-Shamir-Adleman)算法、Elgamal算法(一种非对称加密算法)及ECC(Elliptic Curves Cryptography,椭圆曲线密码编码学)算法等,此处不作具体限定。
在具体实施时,也可以先将客制化文件进行Hash算法处理得到文件摘要,然后,再进行上述的加密操作。由于非对称加密的加密过程复杂,相比直接采用公钥对客制化文件进行非对称加密,本实施例速度更快。
本实施例中,在获取客制化文件时,首先对客制化文件进行校验,在确保客制化文件校验正确后,才允许系统识别客制化文件,以确保系统客制化的安全性。
进一步地,基于上述第一实施例,提出本发明系统客制化方法的第四实施例。
在本实施例中,在上述步骤S20之前,本发明系统客制化方法还包括:
步骤A,将所述嵌入式系统设备进行重启;
步骤B,采用所述嵌入式系统设备的bootloader分区,对所述客制化文件进行解析,以供获取所述客制化文件的类型。
在本实施例中,将嵌入式系统设备进行重启,然后,采用嵌入式系统设备的bootloader分区,对客制化文件进行解析,以供获取客制化文件的类型。
需要说明的是,若客制化文件有修改,则重启所述嵌入式系统设备,以使系统重新进入bootloader(引导加载程序)。其中,引导加载程序是系统上电后运行的第一段软件代码程序,然后,通过该程序初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。
本实施例中,通过对嵌入式系统设备进行重启,以确保进入bootloader分区,从而利用bootloader分区中的程序进行嵌入式系统设备的初始化,从而保证后续的系统客制化功能的实现。
进一步地,基于上述第一实施例,提出本发明系统客制化方法的第五实施例。
在本实施例中,在上述步骤S10之前,本发明系统客制化方法还包括:
步骤C,当终端接收到客制化文件时,对所述客制化文件进行审核;
步骤D,若所述客制化文件审核通过,则对所述客制化文件进行签名,以供在获取客制化文件时进行签名检验;
步骤E,将签名后的客制化文件保存至所述终端的客制化目录。
在本实施例中,当终端接收到客制化文件时,对客制化文件进行审核,若客制化文件审核通过,则对客制化文件进行签名,以供在获取客制化文件时进行签名检验,然后,将签名后的客制化文件保存至终端的客制化目录。其中,对客制化文件进行审核包括对客制化文件的格式、类型及来源等进行审核。
需要说明的是,对所述客制化文件进行数字签名,即对客制化文件添加对应的签名信息,例如未进行签名处理的客制化文件,其内容为“ABC”,通过签名工具进行签名后,其内容为“123ABC”,即签名信息为“123”。具体的,数字签名可通过设置公私钥,并进行加密处理实现。具体的,采用私钥对客制化文件进行非对称加密,以实现数字签名。其中进行非对称加密需要使用非对称加密算法,以实现对客制化文件进行数字签名。非对称加密算法又称公钥加密算法,该非对称加密算法可根据实际需要进行设定,例如RSA(Rivest-Shamir-Adleman)算法、Elgamal算法(一种非对称加密算法)及ECC(Elliptic CurvesCryptography,椭圆曲线密码编码学)算法等,此处不作具体限定。
本实施例中,在接收到客制化文件时,对该客制化文件进行审核,以使审核通过的客制化文件拥有签名信息,使得后续系统可对该客制化文件进行校验,并成功识别该客制化文件,并且对客制化文件进行审核,可进一步提高系统客制化的安全性。
进一步地,基于上述第一实施例,提出本发明系统客制化方法的第六实施例。
在本实施例中,在上述步骤S10之前,本发明系统客制化方法还包括:
步骤F,当终端检测到系统固件完成烧录时,将所述系统固件保存至系统目录,并设定所述系统固件的权限为系统应用权限。
在本实施例中,当终端检测到系统固件完成烧录时,将系统固件保存至系统目录,并设定系统固件的权限为系统应用权限。其中,系统固件为通过对源代码进行编译生成的固件文件,可通过烧录进emmc(Embedded Multi Media Card,多媒体卡)等存储设备使得硬件设备进行特定的功能。
需要说明的是,对于安卓系统来说,系统目录为/system/app,将系统固件保存至该系统目录,并将系统进行重启之后,该系统固件的权限即为系统应用权限。可以理解,该具体实施例需要root(根)权限对/system目录的读写权限进行修改。此外,可通过使用系统签名对系统固件或apk(AndroidPackage,安卓安装包)进行重签名,以实现安装后的权限为系统权限。
此外,还需要说明的是,应用程序可根据权限进行划分,例如划分为普通应用或系统应用。普通应用权限通常较低,例如“normal”权限,系统应用权限通常较高,例如“signature|privileged”权限。
本实施例中,将系统固件的应用权限设置为系统应用权限,可提高系统固件的权限,以确保系统固件的使用和访问权限。
本发明还提供一种系统客制化装置。
参照图3,图3为本发明系统客制化装置第一实施例的功能模块示意图。
在本实施例中,所述系统客制化装置包括:
文件检测模块10,用于获取客制化目录中的客制化文件,并检测所述客制化文件是否有修改;
类型获取模块20,用于若所述客制化文件有修改,则获取所述客制化文件的类型;
文件加载模块30,用于根据所述类型,对所述客制化文件进行加载,以实现用户的需求。
其中,上述系统客制化装置的各虚拟功能模块存储于图1所示系统客制化设备的存储器1005中,用于实现系统客制化程序的所有功能;各模块被处理器1001执行时,可实现系统客制化功能。
进一步地,所述文件加载模块30包括:
分区检测单元,用于根据所述类型,检测所述嵌入式系统设备的各个分区是否需要加载所述客制化文件,得到所述各个分区的检测结果;
阶段确定单元,用于根据所述各个分区的检测结果,确定需要加载所述客制化文件的加载阶段;
文件加载单元,用于根据所述加载阶段,对所述客制化文件进行加载,以实现用户的需求。
进一步地,所述分区检测单元包括:
分区检测子单元,用于根据所述类型,依次检测引导加载程序bootloader分区、系统内核kernel分区及系统system分区是否需要加载所述客制化文件,得到所述bootloader分区、kernel分区及system分区的检测结果;
其中,所述根据所述各个分区的检测结果,确定需要加载所述客制化文件的加载阶段的步骤包括:
若所述bootloader分区的检测结果为需要加载所述客制化文件,则将所述bootloader分区加入需要加载所述客制化文件的加载阶段;
若所述kernel分区的检测结果为需要加载所述客制化文件,则将所述kernel分区加入所述加载阶段;
若所述system分区的检测结果为需要加载所述客制化文件,则将所述system分区加入所述加载阶段。
进一步地,所述文件检测模块10包括:
文件校验单元,用于获取客制化目录中的客制化文件,并对所述客制化文件进行检验;
文件检测单元,用于若所述客制化文件检验正确,则系统识别所述客制化文件,并检测所述客制化文件是否有修改。
进一步地,所述类型获取模块20包括:
名称获取单元,用于若所述客制化文件有修改,则获取所述客制化文件的名称;
类型确定单元,用于根据所述名称,确定所述客制化文件的类型。
进一步地,所述系统客制化装置还包括:
设备重启模块,用于将所述嵌入式系统设备进行重启;
文件解析模块,用于采用所述嵌入式系统设备的bootloader分区,对所述客制化文件进行解析,以供获取所述客制化文件的类型。
进一步地,所述系统客制化装置还包括:
文件审核模块,用于当终端接收到客制化文件时,对所述客制化文件进行审核;
文件签名模块,用于若所述客制化文件审核通过,则对所述客制化文件进行签名,以供在获取客制化文件时进行签名检验;
文件保存模块,用于将签名后的客制化文件保存至所述终端的客制化目录。
进一步地,所述系统客制化装置还包括:
权限设定模块,用于当终端检测到系统固件完成烧录时,将所述系统固件保存至系统目录,并设定所述系统固件的权限为系统应用权限。
其中,上述系统客制化装置中各个模块的功能实现与上述系统客制化方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质上存储有系统客制化程序,所述系统客制化程序被处理器执行时实现如以上任一项实施例所述的系统客制化方法的步骤。
本发明计算机可读存储介质的具体实施例与上述系统客制化方法各实施例基本相同,在此不作赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。