心得 | 论文 | 作文 | 风水 | 谜语 | 菜谱 | 组词 | 诗词 | 成语 | 注音 | 考试 | 日记 | 教学 | 课件 | 汉字 | 词语 | 解梦 | 草药 | 单词 | 格言 | 笑话 | 康熙字典

位置:学习心得体会网 >> 论文范文 >> 期刊论文 >> 网络论文

浅谈Android系统核心手机论文

类型:网络论文 时间:2015年3月27日

摘 要: 针对Android系统版本过多,导致普通用户对Android系统的ROM进行管理配置操作困难及升级滞后的难题,提出并实现了一个Android系统核心管理工具软件。以Android提供的通用格式,采用图形化用户界面的方法,对Android系统的核心镜像boot.img进行管理配置,支持解包、读取信息、修改信息、打包的完整流程,实现系统定制和固件升级的简易操作。测试结果表明,该软件形成了一个可扩展的框架,对快速加入用户提出的核心管理功能,可极好地满足普通用户简易操作,快速升级固件的要求。
关键词: Android系统; 内核; boot.img; 固件
0 引言
Android是Google基于Linux平台推出的开源操作系统,主要用于各种智能手机和平板电脑。Android平台的开放性允许任何移动终端厂商加入到Android联盟中来,使得Android在国内外有着广泛的应用[1]。
正由于Android开放性的特点,很多厂商都通过定制自己的Android系统(如界面、应用程序)来给用户提供丰富的选择,同时也形成了各种各样的过多的版本。再加上Google Android升级很快,而厂商对固件的升级要经过深度研发,需要有一定的周期,这又造成了升级的滞后问题。
Android系统的ROM中boot.img和recovery.img是系统最核心的部分,管理系统启动时的各种关键任务和配置。但是Android系统对ROM的管理、配置、修改功能的管理还很松散,操作非常不方便,难以被普通用户使用。目前国内外尚没有出现较简洁的管理方式,一般都是在Linux环境下通过各种工具在命令行方式下进行,步骤较多,操作较复杂,而且稍有不慎就可能损坏镜像,造成死机,极不适合普通用户[2]。
针对上述问题,本文提出实现一个图形化用户界面的方法,对Android系统的核心镜像boot.img进行管理、修改、配置,从而使系统定制和固件升级变得简单和易于操作。
1 Android系统核心管理工具开发过程
Android系统ROM中的boot.img包含系统启动时使用的内核(kernel)、文件系统(ramdisk)及附加部分(second)。recovery.img主要用于恢复系统原始配置时使用,其所包含的内容不同于boot.img,但包含的文件镜像和boot.img相似。这里以boot.img为例,对这两个镜像的管理分两个步骤完成。
1.1 镜像制作打包
kernel来自于Linux 2.6的内核,是Android系统采用的底层操作系统,主要有进程、内存管理和硬件设备驱动等模块,由内核编译得到相应的镜像。
ramdisk映像是一个最基础的小型文件系统,在内核启动完毕后,会将此映像挂载为根文件系统,ramdisk是一种内存文件系统,整个映像作为内存盘,它包括了初始化系统所需要的全部核心文件,例如:初始化init进程以及init.rc(可以用于设置很多系统的参数)等文件。可以由cpio工具进行打包和gzip压缩得到。
1.2 镜像解包
根据mkbootimg的打包文件格式,对boot.img进行解包,其中boot header主要记录整个镜像的全部信息,大小为一页2k(根据大容量Nand Flash页的大小决定)。我们的解包程序将读取boot header的信息,首先判断魔数是否为"ANDROID!"确认所给镜像为boot.img,然后根据各部分镜像大小和页大小分别提取kernel、ramdisk、second三个部分的内容。用户界面将及时提示解包出的各个镜像信息,也可以将信息存储成相应的文件。
对ramdisk,second镜像进行解包,还原系统文件。首先对ramdisk使用gzip解压缩,将根文件系统还原为原来大小,然后由cpio工具对镜像进行解包,保存到指定的目录中,解包过程中保留Linux系统需要的各文件的UID/GID/权限等信息。所以,需要将gzip或7z等压缩工具设定为无损压缩。用户界面显示解压出的文件列表,用户根据需要选择相应文件,可以进行修改、替换、删除、添加等操作,例如修改init.rc,对Android系统启动进程进行管理。
以上流程将做成一个与mkbootimg相对应的工具debootimg。镜像解包流程中还包含对各部分文件的管理工作,如删除、添加、替换等操作。这一部分将由debootimg核心解包工具提供相应接口对用户界面进行支持。
2 关键技术

相关阅读

更多分类