`
helin.era
  • 浏览: 13204 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Android文件系统深入剖析

阅读更多
1、Android文件系统的结构

Android源码编译后得到system.img,ramdisk.img,userdata.img映像文件。其中, ramdisk.img是emulator的文件系统,system.img包括了主要的包、库等文件,userdata.img包括了一些用户数据,emulator加载这3个映像文件后,会把 system和 userdata分别加载到 ramdisk文件系统中的system和 userdata目录下。因此,我们可以把ramdisk.img里的所有文件复制出来,system.img和userdata.img分别解压到 ramdisk文件系统中的system和 userdata目录下。

2、分离Android文件系统出来

system.img,ramdisk.img,userdata.img映像文件是采用cpio打包、gzip压缩的,可以通过file命令验证:

file ramdisk.img
输出:

ramdisk.img: gzip compressed data, from Unix,
last modified: Wed Mar 18 17:16:10 2009
Android源码编译后除了生成system.img,userdata.img之外还生成system和 userdata文件夹,因此不需要解压它们。Android源码编译后还生成root文件夹,其实root下的文件与 ramdisk.img 里的文件是一样的,不过这里还是介绍怎样把 ramdisk.img解压出来:

将ramdisk.img复制一份到任何其他目录下,将其名称改为ramdisk.img.gz,并使用命令

gunzip ramdisk.img.gz
然后新建一个文件夹,叫ramdisk吧,进入,输入命令

cpio -i -F ../ramdisk.img
这下,你就能看见并操作ramdisk里面的内容了。



然后把Android源码编译后生成的system和 userdata里的文件复制到 ramdisk/system和 ramdisk/userdata下。这样就得到一个文件系统了。

3、使用网络文件系统方式挂载Android文件系统

因此,我们需要建立/nfsroot目录,再建立/nfsroot/Androidfs目录,把刚才的Android文件系统改名为Androidfs,并链接到/nfsroot/Androidfs

4、Android文件系统内核引导文件系统

Android内核挂载/nfsroot/Androidfs之后,根据init.rc,init.goldfish.rc来初始化并装载系统库、程序等直到开机完成。init.rc脚本包括了文件系统初始化、装载的许多过程。init.rc的工作主要是:

1)设置一些环境变量

2)创建system、sdcard、data、cache等目录

3)把一些文件系统mount到一些目录去,如,mount tmpfs tmpfs /sqlite_stmt_journals

4)设置一些文件的用户群组、权限

5)设置一些线程参数

6)设置TCP缓存大小
分享到:
评论

相关推荐

    文件管理器FileManager - 安卓Android程序实例源代码.zip

    《深入剖析Android文件管理器 FileManager 源代码》 在Android平台上,文件管理器是用户与设备文件系统交互的重要工具,它允许用户查看、创建、删除、移动和复制文件及目录。本篇将深入探讨一个名为"文件管理器File...

    深入剖析Android 开发小应用里的大智慧 [张泳,葛丽娜 编著] 2014年版

    《深入剖析Android 开发小应用里的大智慧》是由张泳和葛丽娜编著的一本专业书籍,2014年出版。这本书是为那些希望深入理解Android应用程序开发的开发者们精心编写的,旨在揭示在小巧的应用程序背后所蕴含的复杂技术...

    Java编写的安卓系统优化软件源代码.rar

    本篇文章将对标题为"Java编写的安卓系统优化软件源代码.rar"的项目进行深入剖析,揭示其在优化安卓系统、清理垃圾等方面的实现原理。 首先,我们需要理解Java在安卓开发中的核心地位。Android系统基于Linux内核,但...

    Android内核剖析

    Android内核剖析首先会介绍Linux内核的基础,包括进程管理、内存管理、文件系统等。 2. Android窗口管理系统 窗口管理系统是用户界面的重要组成部分,负责管理应用程序窗口的创建、销毁以及窗口间的切换和布局。在...

    深入理解Android:卷I--详细书签版

     笔者认为,本书最大的特点在于,较全面、系统、深入地讲解了Android系统中的几大重要组成部分的工作原理,旨在通过直接剖析源代码的方式,引领读者一步步深入于诸如Binder、 Zygote、Audio、Surface、Vold、Rild...

    Android内核剖析 柯元旦 pdf

    - Android内核支持多种文件系统,如ext4、F2FS等,这些文件系统针对移动设备进行了优化,提高了数据读写速度并降低了功耗。 - 同时,为了满足移动设备多样化的需求,Android内核还支持虚拟文件系统(VFS),可以...

    深入理解android telephony原理剖析与最佳实践

    根据提供的文件信息,实际内容与标题“深入理解android telephony原理剖析与最佳实践”以及描述并不相符。然而,为了满足您的需求,以下将基于标题和描述来生成相关的Android Telephony的知识点。 ### 深入理解...

    Android代码-小米文件管理器源码.zip

    《深入剖析小米文件管理器源码——Android编程实践与解析》 小米文件管理器作为一款广泛应用在Android设备上的系统工具,其源码对于我们理解Android系统的文件管理机制、UI设计以及性能优化等方面具有重要的学习...

    Android应用程序开发以及背后的设计思想深度剖析

    这篇文章将逐步揭示Android应用程序背后的设计思想,从基本的 APK 文件结构到更复杂的系统组件和编程模型。 首先,让我们深入了解 APK 文件。APK 是 Android 应用程序的基本打包格式,实质上是一个被压缩的 ZIP ...

    android系统深入浅出binder机制分析

    ### Android系统深入浅出之Binder机制分析 #### 一、 Binder机制概览 在深入探讨Binder之前,我们首先需要理解其在Android系统中的核心地位。Binder机制是Android平台实现跨进程通信(Inter-Process Communication...

    Android系统原理全5册

    至于Android的Linux内核与驱动程序,【Android系统原理与开发要点详解】03_Android的Linux内核与驱动程序(1).pdf和【Android系统原理与开发要点详解】03_Android的Linux内核与驱动程序.pdf两份文档将详细剖析Android...

    Android 小米文件管理器源码.rar

    本文将对"Android 小米文件管理器源码"进行深入剖析,旨在揭示其背后的编程理念和技术实现。 首先,小米文件管理器的核心功能是文件的浏览和操作。在源码中,我们可以看到它使用了Android的ContentProvider机制来...

    Android网上点餐系统源码

    本文将围绕“Android网上点餐系统源码”这一主题,深入剖析其核心功能和实现原理。 首先,一个完整的Android网上点餐系统通常由前端界面、后端服务器和数据库三大部分构成。前端界面是用户直接接触的部分,通常采用...

    android系统底层到应用层全方位剖析

    2. **Linux内核**:作为Android的基础,Linux内核提供了进程管理、内存管理、文件系统、网络协议栈等核心服务。内核还支持各种驱动程序,使硬件功能得以充分利用。Android对Linux内核进行了一些定制,例如添加特定的...

    Android.mk 详解剖析

    Android.mk 是Android构建系统中的关键文件,它定义了如何编译和构建Android项目的特定部分,如APK程序、Java库、C/C++应用程序、静态库和动态库。这份文档将详细介绍Android.mk的各个方面,帮助你深入理解其功能和...

    Android剖析和机理

    《Android剖析和机理》是一本深入探讨Android操作系统内核及运行机制的宝贵资料,对于想要深入了解Android系统、进行系统优化或开发工作的人员来说,具有极高的参考价值。该资源包含了一个PDF文件,名为"Android剖析...

    Android内核剖析 柯元旦

    2. **Linux内核基础**:Android内核剖析会涵盖Linux内核的基本概念,如进程管理、内存管理、中断与异常处理、文件系统等。理解这些基础对于深入理解Android内核至关重要。 3. **Android特定内核模块**:书中将详细...

    基于android手机短信管理系统设计

    本研究针对当前市场上流行的多种移动操作系统(如Symbian、Windows Mobile、Mac OS X和RIM等)进行深入分析,并将重点放在了Android平台上。Android作为一款开源操作系统,凭借其灵活性和强大的开发者社区支持,在...

    Android Dalvik虚拟机结构及机制剖析第2卷

    最后,本卷可能还涵盖了Dalvik的性能调优、内存管理策略、异常处理机制以及与硬件平台的交互等内容,这些都是开发者深入理解Android系统并提升应用性能的关键知识点。通过阅读《Android Dalvik虚拟机结构及机制剖析...

    android内核剖析.pdf

    - **文件系统**:设计和实现自定义文件系统(FAT16),涉及数据存储和访问策略。 - **GUI子系统**:开发图形用户界面,提高用户体验。 - **应用程序开发框架**:构建一套完整的应用程序开发框架,简化应用程序的开发...

Global site tag (gtag.js) - Google Analytics