打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
[玩机技巧之Android篇]系统分区之System、Data、cache 来自 淡影寒

前言:本文章搜寻内容花了很大的精力和时间。如果其中出现的内容与链接,侵犯到他人请联系本人来进行删除。
————————————
文章说明:本文章来介绍安卓系统上的分区的作用与构造,因内容众多若缺失请联系添加,谢谢了解
————————————————
文章目录:
1.安卓目前最主要的分区
2.分区在手机内起到了什么作用
3.系统(System)分区介绍
4.数据(Data)分区介绍
5.PT(vendor)分区介绍(还在路上)
6.缓存(cache)分区介绍
(因安卓分区过多目前只举例这常见的4中个分区)
—————————————————————
1.安卓最主要的分区
1.Modem分区
2.bootloader分区
3.boot分区
4.recoverty分区
5.system分区
6.data分区
————————————————————————
2.分区对系统起了什么作用
(部分内容来自CSDN)
当我们拿到一款手机,第一件事应该就是按下电源键开机,那么从开机到进入到桌面程序,这一段时间内,经过了很多分区的加载与分化工程。
理解分区,可以简单的理解为windows的C盘(系统盘),这个硬盘被分成了几个分区:bootloader分区,boot分区,system分区等等。所谓的进行分区刷机我们可以简单的理解成把镜像给分解逐步的安装在各个分区中,就相当于在windows上进行刷系统
。分区在手机上起到了对进行支撑与引导的作用。
———————————————————————————————
3.SYSTEM分区介绍
在了解system分区的前段,先来了解一下Android的框架图

Android系统框架

一般的系统是依照以上到下来运行,每次运行运用时都会使用到这些分区

核心应用层:本层是Android所安装的运用,由DATA→SYSTEM的一个执行方向。
框架层:框架层也是SYSTEM的核心运行段,也是主要部分。集中体现Android系统系统的组件设计思想,是Android应用开发的核心,为开发者开发应用时提供基础的API框架。框架层由多个系统服务组成。我们知道Android应用是由若干个组件构成,组件与组件之间的通信是通过框架层提供的服务集中调度和传递消息实现的,而不是组件之间直接进行的。
JNI层:主要是来运行一些算法,因为c/c++比Java效率高,所以应用运行起来速度比较快,特别是一些游戏中的算法。
本地库:本地库,也是俗称的SQLite,Android使用的轻量级数据库,虽说是轻量级的,但是对于Android数据存储来说,作用是很大的。
HAL(硬件抽象):HAL层是位于操作系统 内核与硬件电路之间的接口层,其目的在于将硬件抽象化。它隐藏了特定平台的硬件接口细节,为操作系统提供虚拟硬件平台,使其具有硬件无关性,可在多种平台上进行移植。 从软硬件测试的角度来看,软硬件的测试工作都可分别基于硬件抽象层来完成,使得软硬件测试工作的并行进行成为可能。
Linux内核(系统内核):Android是一种基于Linux内核开发的操作系统。所以 Android 也可以算是 Linux 系统的一种。因为他是基于 Linux 内核上面运行的一个java虚拟机环境。所有的运行都需经过Linux的内核来进行分解处理运行。
system分区的主要目录内容:
system/app: app目录下存放的是核心应用,也就是大家熟知的系统APP,这些系统自带的程序是不能简单的卸载的,要通过一些特殊的方式才能删除(大家熟悉的一种方法是用RE文件管理器)。

system/lib: lib目录下存放的是组成JNI层,Dalvik虚拟机,本地库,HAL层和厂家适配层的所有动态链接库(.so文件)。

system/framework: 该目录下存放的是框架层的JAR包,其中对MIUI移植来说有3个最重要的JAR包(framework.jar, android.policy.jar, services.jar)。后续的文章会重点介绍这3个包。

system/fonts: 该目录下存放的是系统缺省的字体文件。

system/media:该目录下存放的是系统所使用的各种媒体文件,比如说开机音乐,动画,壁纸文件等。不同的手机该目录的组织方式可能不一样。如何修改这些文件请参考网上对应机型形形色色的教程,这里不再赘叙。

system/bin: 该目录下存放的是一些可执行文件,基本上是由C/C++编写的。其中有一个重要的命令叫app_process下一节单独介绍。

system/xbin: 该目录下存放的是一些扩展的可执行文件,既该目录可以为空。大家常用的busybox就放在该目录下。Busybox所建立的各种符号链接命令都是放在该目录。

system/build.prop: build.prop和上节说得根文件系统中的default.prop文件格式一样,都称为属性配置文件。它们都定义了一些属性值,代码可以读取或者修改这些属性值。属性值有一些命名规范:
ro开头的表示只读属性,即这些属性的值代码是无法修改的。
persist开头的表示这些属性值会保存在文件中,这样重新启动之后这些值还保留。
其它的属性一般以所属的类别开头,这些属性是可读可写的,但是对它们的修改重启之后不会保留。
很多ROM制作者都会修改一下build.prop信息,里面的一些以ro.build开头的属性就是你在手机设置中的关于手机里看到的。可以通过修改build.prop文件来将这个ROM打上自己的印记(XXX所修改)。我见过一个只是删了system/app的一些程序,然后修改build.prop中的ro.build.display.id和ro.build.version.incremental中的两个属性值打上自己的大名的ROM。

system/etc: 该目录存放一些配置文件,和属性配置文件不一样,这下面的配置文件可能稍微没那么的有规律。一般来说,一些脚本程序,还有大家所熟悉GPS配置文件(gps.conf)和APN配置文件(apns-conf.xml)放在这个目录。像HTC将相机特效所使用的一些文件也放在这个目录下。
———————————————————————————————————

4.数据(Data)分区介绍
也称为用户数据,数据分区包含用户的数据:联系人,信息,设置和应用程序。
所谓的Data分区也等于是电脑上的D盘和C盘里的Program Files,Data它承包了系统里的所有的数据,也等于是系统里的仓库。

Data分区的主要目录内容:
data/data目录:存放的是所有APK程序数据的目录,每个APK对就一个自己的Data目录,就是在data/data/目录下,会产生一个跟Package一样的目录。如有一个APK,它的包名叫com.test.hello 则,在data/data/目录下会有一个com.test.hello的目录,这个APK只能操作此目录,不能操作其它APK的目录. 这个在LINUX下叫做用户进程只能操作自己的进程目录.

data/app 目录:用户安装的APK放在这里。我们如果把APK放入这个文件夹下面的话,就算安装好了。这就叫静默安装。不用管APK文件里面的lib目录下的库文件,系统会自动帮我们放入调用库的。

data/system目录下面有packages.xml ,packages.list, appwidgets.xml, 等等一些记录手机安装的软件,Widget等信息。

data/misc目录:保存WIFI账号,设置信息等。如保存了一个WIFI连接账号,则此目录下的WIFI目录下面可以查看到。
————————————————————————————————————

5.缓存(cache)分区介绍
安卓系统作为一个Linux+java的系统,经过了N个分区的处理与运作,多多少少会出现些缓存与垃圾(如系统日记,残留内容等)而这些“闲杂物”并不是堆积在分区内,而是由SOC的运行将这些东西来分配。
如果想详细了解可以去百度搜一下LruCache缓存机制分析(因为内容很多很多很多,怕被屏蔽,就不发出来了)

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
MIUI ROM适配之旅第一天——认识Android手机
简单易懂的Android ROM定制与修改教程
华为c8813系统文件详解深度剖析
制作属于自己的ROM,让玩机更自由,更有想象力。
Android删除手机自带程序经验
为Android扩展一个硬件模块
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服