一种安卓系统中的用户数据镜像加载方法、装置及终端的制作方法

文档序号:9471255阅读:374来源:国知局
一种安卓系统中的用户数据镜像加载方法、装置及终端的制作方法
【技术领域】
[0001]本发明涉及通信领域,尤其涉及一种安卓系统中的用户数据镜像加载方法、装置及终端。
【背景技术】
[0002]在安卓(Android)系统中,Android源码编译后,在out/target/product/generic下生成的三个镜像文件:ramdisk.1mg (根文件镜像)、system.1mg(系统镜像)、userdata.1mg(用户数据镜像),以及它们对应的目录树root、system、data。其中,ramdisk.1mg是根文件系统,system, img包括了主要的包、库等文件,userdata.1mg包括了一些用户数据。Android加载这3个映像文件后,会把system和userdata分别加载到ramdisk文件系统中的system和data目录下。
[0003]由于system, img和userdata.1mg采用Ext4(第四代扩展文件系统)格式构建,根据标准规定,采用Ext4格式构建的镜像,需要预先规定镜像大小,以便在镜像加载过程中,根据预先规定的镜像大小,将该镜像中包含的全部数据加载到指定目录。
[0004]在实际中,同型号的终端却可能具有不同容量的存储空间,例如:两个智能手机除存储空间不同(一为16G,另一为64G)之外,其余配置均相同。但由于Ext4格式的制约,必须为上述两个智能手机分别编译不同的userdata.1mg镜像,即为存储空间是16G的智能手机编译一个userdata_l.1mg镜像,还要为存储空间是64G的智能手机编译另一个userdata_2.1mg镜像。并根据两个智能手机的存储空间的不同,将userdata_2.1mg的镜像大小设置的更大,而将userdata_l.1mg的镜像大小设置的较小,但实际上,userdata_l.1mg和userdata_2.1mg中所包含的用户数据是相同的。
[0005]可见,现有技术需要为不同存储容量的终端,编译不同版本的userdata.1mg镜像。

【发明内容】

[0006]本发明实施例提供一种安卓系统中的用户数据镜像的加载方法、装置及终端,用以提供一种能够根据终端的存储空间容量的大小进行自适应调整的用户数据镜像的加载方法,降低了用户数据镜像编译的复杂性,同时降低了用户数据镜像的开发和维护资源。
[0007]本发明实施例提供一种安卓系统中的用户数据镜像的加载方法,该方法包括:
[0008]获取预先生成的分区表、用户数据镜像和非用户数据镜像;所述非用户数据镜像至少包括系统镜像和根文件镜像;
[0009]根据所述分区表将所述非用户数据镜像分别加载到所述终端的指定目录下;
[0010]根据所述终端可用存储空间的总容量和加载非用户数据镜像所占用的存储空间容量,计算所述终端的剩余容量;
[0011]根据所述剩余容量将所述分区表中预设的用户数据分区容量修改为与所述剩余容量相同的大小;
[0012]将所述预先生成的用户数据镜像的大小扩容到与修改后的分区表中的用户数据分区容量相同的大小,并根据所述修改后的分区表将扩容后的用户数据镜像加载到所述终端的指定目录下;
[0013]其中,扩容后的用户数据镜像与所述预先生成的用户数据镜像中包含有相同的用户数据。
[0014]本发明实施例还提供一种安卓系统中的用户数据镜像的加载装置,该装置包括:
[0015]获取单元,用于获取预先生成的分区表、用户数据镜像和非用户数据镜像;所述非用户数据镜像至少包括系统镜像和根文件镜像;
[0016]非用户数据镜像加载单元,用于根据所述分区表将所述非用户数据镜像分别加载到所述终端的指定目录下;
[0017]计算单元,用于根据所述终端可用存储空间的总容量和加载所述非用户数据镜像所占用的存储空间容量,计算所述终端的剩余容量;
[0018]修改单元,用于根据所述剩余容量则将所述分区表中预设的用户数据分区容量修改为与所述剩余容量相同的大小;
[0019]扩容及加载单元,用于将所述预先生成的用户数据镜像的大小扩容到与修改后的分区表中的用户数据分区容量相同的大小,并根据所述修改后的分区表将扩容后的用户数据镜像加载到所述终端的指定目录下;
[0020]其中,扩容后的用户数据镜像与所述预先生成的用户数据镜像中包含有相同的用户数据。
[0021]本发明实施例还提供一种终端,该终端包括一种安卓系统中的用户数据镜像的加载装置。
[0022]从上述技术方案可以看出,本发明实施例可以预先生成一个较小且适用于各种终端的用户数据镜像(userdata.1mg),并在终端初始化时,先将系统镜像(system, img)根文件镜像和系统镜像(ramdisk.1mg)等非用户数据镜像加载到终端的指定目录下后,根据终端的当前剩余存储空间,自动的将预先生成的、容量较小的用户数据镜像进行无损扩容,以保证扩容后的用户数据镜像包含有预先生成的用户数据镜像中所包含的全部数据,因此扩容后的用户数据镜像虽然在容量上能够与终端的剩余容量匹配、但却不会损失任何用户数据。在各类终端中预置本发明实施例提供的用户数据镜像后,可以实现根据终端的本地存储空间容量,自动的进行用户数据镜像无损扩容的方案,从而不需要为不同容量的终端分别编译各种版本的用户数据镜像,进而简化了开发复杂度、节省了开发及维护资源。
【附图说明】
[0023]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0024]图1为本发明实施例提供的一种安卓系统中的用户数据镜像的加载方法的流程示意图;
[0025]图2为本发明实施例提供的分区表中userdata分区的调整方案的流程示意图;
[0026]图3(a)为本发明实施例中一种预先生成的分区表的示意图;
[0027]图3(b)为本发明实施例中修改后的分区表的不意图;
[0028]图4为本发明实施例提供的文件系统中userdata.1mg的无损扩容方案的流程示意图;
[0029]图5为本发明实施例提供的一种安卓系统中的用户数据镜像的加载装置的结构示意图。
【具体实施方式】
[0030]为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0031]本发明实施例可以应用于各类终端(如智能手机、平板电脑等设备),尤其适用于采用安卓(Android)操作系统的终端。当然,也可适用于采用双系统的终端,双系统中至少包括安卓操作系统。
[0032]为了便于在终端出厂时,能够在终端内预置部分的预装应用程序或数据(如图片数据、视频数据等),一般需要在终端初始化过程中,将预置的用户数据镜像(为了描述方便,以下可简称为userdata.1mg)加载到ramdisk文件系统中的data(数据)目录下。
[0033]针对安卓系统中的用户数据镜像加载过程,本发明实施例提供的方法可以按照本发明提供的分区表中所设置的加载顺序,在系统将ramdisk.1mg、system, img等其他非用户数据镜像加载到相应目录之后,将预先生成的较小的userdata.1mg加载到相应的目录下。
[0034]在本发明实施例中,由于终端运行需要许多分区,这些分区可以包括modem(存储modem镜像)/config (厂商的配置信息),modemstl (NV信息)等,也可以包括用户自定义分区,其对应的非用户数据镜像至少包括ramdisk.1mg、system.1mg、modem镜像、config厂商配置镜像等。
[0035]需要说明的是,在本发明实施例中,在加载:ramdisk.1mg到根目录之后,还可以按照现有技术加载其他镜像,但需要将userdata.1mg作为最后一个镜像加载到相应目录下。
[0036]本发明实施例提供的userdata.1mg的大小可以小于现有技术中的userdata.1mg,这样可以保
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1