Android——4.2.2 文件系统目录分析

yolov11找anchor_id step1:在ultralytics/utils/ops.py中加入这个函数。step3:补齐该导入的包,后运行即可打印anchor_id。 阅读详情

    最近公司要整android内部培训,分配给我写个培训文档,这里记录如下:



                                                                              撰写不易,转载请注明出处:http://blog.youkuaiyun.com/jscese/article/details/40897703


导读:


这里补充下android运行时的文件系统结构,

同样,资料网上有很多,只是简单介绍我常涉及到的,个人观点,仅供参考~

各个厂商平台可能会有出入.这里单以我这边mstar的平台

以“/”代表文件系统的根目录.



                                                                                   ——jscese

                                                                                           2014/11/7





文件系统生成

目前android编译出来的镜像基本都是ext4格式,可用file命令查看,不再是之前的yaffs2,因为之前用的是nand,现在的主流已是emmc,但是在制作android文件系统时挂载的类型就五花八门了,各种都有.

可在系统启动时/system/core/init/init.c中的main中查看mount类型.

对文件系统的创建语句基本都写在/system/core/rootdir/init.rc,这个文件语法可参考/system/core/init/readme.txt,交由init.c负责解析执行.其中init.rc还会加载平台rc执行一些自己的操作:import/init.${ro.hardware}.rc一般的.rc都放在“/”目录下.

关于init.rc中的语句怎么被执行,这里不多描述,可另行参考init机制,可以看到里面很多对分区以及文件的shell命令,比如mount,mkdir,symlink,chmod...

mount上去的文件类型大体有这几种:

tmpfs devpts proc sysfsrootfs yaffs2 cgroup ext4 debugfs

这些文件系统类型可去维基百科查,每一种都有自己的特性.可在shell终端输入mount查看挂载情况.

我们通过shell终端看到的文件系统目录是最终制作完成的产物,有的文件目录下是挂载的分区,如果修改就是实际修改的nand/emmc上面的内容,有的可能只是制作过程中从分区某个地方copy放在那个目录下的,你删除了,下次重启依旧还会存在,这个就要根据具体情况而判断了.

这个的生成过程还是很繁杂的,这里就不一一述说.下面介绍下常用到的目录文件.

详细可参考:Android——启动过程详解






/cache

缓冲区目录,用于存放临时文件,目前我这边用到的地方就是存放从网络下载OTA包用于更新.





/data

顾名思义,主要用于存放数据的地方,往下的目录都是存放app的相关分类数据.

其中/data/app目录下存放的就是用户安装的apk文件.

/data/data目录下存放的是系统中所有app的数据文件,以apk包名区分,其中会有提交的数据库以及xml数据文件.









/dev

linux设备文件夹,存放设备节点文件,挂载的是tmpfs格式文件系统,断电后数据将会消失.android系统上的设备都会在这个目录底下创建设备文件,

秉承linux的理念:一切设备皆文件.并且都是可以通过文件对设备进行操控管理.

其中/dev/block下列出所有emmc存储设备的所有block









/etc

软连接指向/system/etc,这个目录一般用于存放系统中的各种配置文件,没什么好说的.




/mnt

外部挂载点目录,作为外部存储设备的挂载点路径,往下的分支常用的包括/mnt/sdcard为android默认SD卡挂载点.其它的不同平台可能会有大的差异,比如挂载usb设备的挂载点,我这边挂载在/mnt/usb







/proc

一个虚拟的文件系统,由kernel提供,不是实际的存储空间,存在kenel管理的内存中,应用层可通过/proc下的文件动态获取kernel中系统进程(process)的运行信息.也可通过/proc/sys目录下可写文件修改kernel运行状态,实现与kernel的交互.

在init.c中挂载到/proc文件上.

其中比较常用的获取文件:/proc/cpuinfo/proc/meminfo /proc/mounts /proc/version ...

顾名思义.可以在shell使用cat*查看

设置/proc/sys/kernel状态值,init.rc中就有设置,可以参考,大部分设置在/proc/sys/kernel下

shell下可使用echo* > * 重定向设置状态值.





/sbin

存放root用户可执行文件的目录,一般存在这下面的就是adbd





/sdcard

软连接上面说到的/mnt/sdcard,SD卡的挂载点






/sys

类似/proc,也是虚拟的文件系统.

区别在于这个文件系统提供的是关乎kernel中的设备驱动.

/sys/devices下就是已经注册到总线上的所有物理设备.

/sys/dev下面是blockchar设备的节点文件,链接到真实设备.

/sys/module这里可以看已经insmod的kerneldevice driver

同/proc下一样可使用cat查看

/sys/kernel下的是可写的设备值,同/proc一样操作写入控制.






/system

这个是android系统最重要的文件目录了,可以在rc中看到挂载的是system分区,也就是源码编译出来的system.img镜像,主要的运行机制也就全在这个目录下了,默认是挂载成ext4只读.

/system/app系统预置的apk存放路径,只有root才有写权限

/sysem/bin这个下面全部是android系统可执行文件

/system/build.prop编译过程中收集的各种属性

/system/etc上面有提到,配置文件

/system/fonts字库

/system/framework下面全是jar包也就是源码中frameworks编译出来的系统框架,核心所在

/system/lib存放几乎所有编译出来的动态库(.so)

/system/vendor存放一些厂商的东西一般有applib之类的

这几个应该算是最重要的,其它的目录不一一列出.

如果想要修改/system下面的内容,可在shell终端输入:mount-o remount rw /system

重挂载为可读写.



/tmp

临时文件








安卓APP(2)——安卓的工程目录文件夹介绍和安卓APP启动过程 阅读详情

相关推荐

bugku渗透测试4-writeup

三、对这个主机进行全端口的扫描,发现存在22000 ssh端口,那么可以联想到时redis写入公钥来连接主机。又来了一个新的靶场,这个靶场打下来我觉得关键就是信息收集,走了很多的弯路。八、最后一个flag是要去看cms的数据库里面,这个数据库是sqlite。把这个数据库下载下来,登录密码是加密的,就直接用token。一、入口的漏洞是在登录的时候去抓包,修改action的值。六、没想到这个第一台机器的密码,在第二台里面。七、扫描第一台主机、使用之前的密码连接成功。获取最后一台主机的root密码。

vsdfbhsdhsdfh的博客 1295

Android文件夹功能简介

【文件夹功能简介】/system/app这个里面主要存放的是常规下载的应用程序,可以看到都是以APK格式结尾的文件。在这个文件夹下的程序为系统默认的组件,自己安装的软件将不会出现在这里,而是/data/文件夹中。/system/bin这个目录下的文件都是系统的本地程序,从bin文件夹名称可以看出是binary二进制的程序,里面主要是Linux系统自带的组件(命令)/system/etc从文件夹名称来看保存的都是系统的配置文件,比如APN接入点设置等核心配置。/system/fonts字体文件夹,除了标准字体

蓝蓝的天 2744

Delphi 12社区版免费了!手把手教你搭建跨平台开发环境(Windows/macOS/Android/iOS)

本文详细介绍了如何利用新发布的Delphi 12社区版,免费搭建支持Windows、macOS、Android和iOS的跨平台开发环境。内容涵盖从环境准备、安装、配置各平台SDK(包括Android与macOS/iOS的PAServer连接),到创建首个FireMonkey跨平台应用、集成数据库以及调试部署的完整实战流程,帮助开发者零成本启动高效开发。

butter的博客 975

Android Studio版本4.2.2上如何查看Device File Explorer和这个里的/data/data/包名/database/目录下的文件名(比如db文件)内容

在Veiw->Tool Windows->Device File Explorer 在/data/data//database/目录下,我想查看如果是db文件,比如是BookStore.db,怎么查看这db文件的内容呢 我手机设备是Xiaomi M2003J15SC,按下图操作,是找我的app应用的包名:com.mytest.demo 接下来,找到BookStore.db了,按下图操作: 在电脑的搜索框上粘贴刚复制的路径了去搜索 点住这db文件上用打开方式上选择SQLite软件打开

彬sir哥的博客 2587

地震勘探原理---地震预处理

3.1 为什么说要对数据进行振幅补偿?具体来说,地震波在传播过程中会遇到各种各样的地质条件,例如不同的岩层、土壤、水层等,这些介质的密度、速度等特性不同,因而对地震波的能量消耗也有所不同。在传播距离较远的情况下,能量损失可能会导致接收到的地震信号振幅变小。相反,在传播距离较近的情况下,能量损失可能较小,导致接收到的地震信号振幅变大。如果不对数据进行振幅补偿,这种振幅不均衡会导致地震数据分析和解释的误差和不确定性增加,可能产生错误的结论。

DARRENANJIAN的博客 3272

A股历史数据免费下载终极指南:4000+个股数据一键打包获取

本文提供了获取A股历史数据的完整免费方案,重点介绍了Tushare Pro、AkShare等开源金融数据API的使用方法。通过详细的Python脚本示例,指导读者如何自动化批量抓取、清洗、存储4000多只个股的历史行情数据,并分享数据质量校验与性能优化技巧,助力量化研究与市场分析。

ooo22的博客 2229

android系统中修改sd卡挂载目录

android系统中修改sd卡挂载目录 减小字体 增大字体 这段时间,一直在弄Android系统上的SD挂载。那为什么要鼓捣Android系统的SD挂载呢?下面不得不从开始说起。 一、Android系统挂载位置SD卡现状。 Android系统默认挂载的外置SD与首选(primary)的外置存储设备的路径是并列。USB存储设备同样也与这两种存储设备并列。比如三种外置存储设备挂载路径如下

1万+

vivado2020.2安装教程:Windows平台完整指南

手把手带你完成vivado2020.2安装教程,覆盖下载、配置到验证全过程,解决常见安装问题,确保在Windows平台顺利部署开发环境,适合初学者快速上手。

weixin_42607969的博客 1345

Android系统Recovery工作原理之使用update.zip升级过程分析

转自:      http://blog.csdn.net/mu0206mu          这篇及以后的篇幅将通过分析update.zip包在具体Android系统升级的过程,来理解Android系统中Recovery模式服务的工作原理。我们先从update.zip包的制作开始,然后是Android系统的启动模式分析,Recovery工作原理,如何从我们上层开始选择system

Simba's 3949

车载与安防项目实战:如何用RK3588搭配NVP6158C实现4路AHD摄像头BT1120接入与同步预览

本文详细解析了基于RK3588处理器与NVP6158C解码芯片实现4路AHD摄像头BT1120接入与同步预览的技术方案。针对车载环视和安防监控场景,重点探讨了硬件架构设计、BT1120接口配置、多路同步机制及Android HAL适配等核心问题,提供了从底层驱动到上层应用的完整实现路径,为相关领域的工程实践提供可靠参考。

weixin_30571465的博客 484

星载SAR的各项指标解读(史上最全)

一、系统指标 系统指标主要指雷达系统的通用的指标,以及和卫星整星相关的指标,主要有一下几项: 工作频段: 雷达体制: 极化方式: 设计s

9271

在Android4.2.2中添加对exFAT文件系统的支持

原文: http://blog.sina.com.cn/s/blog_3e4774e30101mhfk.html 最近在自己做的Android4.2.2系统ROM,发现使用64GB的TF卡无法识别到,查看了下格式化后的文件系统格式,发现原来不再是以前的FAT32了,而是exFAT,该文件系统能支持超过4GB的单个文件,查了一下相关系统,Linux系统对于NTFS和exFAT的支持,暂时还是在

Fybon的专栏 2805

数据分享|2000-2021年全国各城市风速数据(逐日、逐月、逐年)

而后,将每日的csv文件进行展点,再投影,采用反距离权重法对每日的数据进行插值。:美国国家海洋和大气管理局(NOAA)下设的国家环境信息中心(NCEI),网址为:https://www.ncei.noaa.gov/data/global-summary-of-the-day/archive/该数据是通过风速平均值插值得来,由于插值的方式与各种处理参数的不同,会导致该数据与其它风速数据不同,数据仅供个人学习使用哦。如果在论文中使用该数据,数据来源请写上面的原始数据来源,处理方法请写上面的处理方式!

J_Giser的博客 1777

android文件系统挂载过程,有线挂载Android4.2文件系统

注意:在挂载Android4.2文件系统调试前,一定要将平板的Android系统中的“设置”功能中的“wifi”功能选择“关闭”,如图所示 :1.硬件连接将usb转网卡的模块与平板的usb口连接,同时将平板的调试板通过usb线与主机连接,如图所示:2.网络配置主机网络配置Ip:192.168.100.75虚拟机网络配置如图所示:虚拟机软件配置如图所示:3.配置u-boot 启动参数注意:在按住平板...

weixin_42187923的博客 785

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Linux3.4.0 Yaffs2文件系统移植-支持Android4.0

本文章主要针对FS100,S5PC100的Android4.0.4 Yaffs2文件系统移植过程,对于类似Android系统或类似Linux内核(版本高于2.6.35)有参考意义。本文分两部分:Nandflash驱动移植Yaffs2文件系统移植一、Nandflash驱动移植由于内核里面没有S5PC100的Nandflash驱动,所以,我们将Nandflash的驱动文件拷贝到内核目录中:将s3c_n

mr_raptor的专栏 6751

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Android安卓项目目录介绍,如何正确运行Android项目

在上一篇文章中,我们学习了springboot目录结构介绍,这期我们来初识Android项目目录结构项目不要已中文命名,也不要放在带有中文字符的目录下重要事说三遍~项目不要已中文命名,也不要放在带有中文字符的目录下重要事说三遍~项目不要已中文命名,也不要放在带有中文字符的目录下重要事说三遍~Androidstudio正确导入运行项目视频教程相比较运行springboot项目,Android项目相对来说简单一些,不需要有额外的准备工作。

商城app+新闻app+备忘录记事本app视频教程在某站【浩宇软件开发】 2999

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

分区&挂载&文件系统&目录总结

鉴于linux以及android开发中经常会出现分区,文件系统,挂载,目录这些词汇,对于初学者不容易弄清楚其中的意义以及相互之间的关系。本文对于这几个词汇进行一定的了解,并且对于这几者之间的关系也逐一理清,对于linux以及android的初学者有一定的帮助。

u014634649的博客 1933

Android的文件系统结构

<!-- @page {margin:2cm} h1 {margin-top:0.49cm; margin-bottom:0.49cm; text-align:left; widows:2; orphans:2; page-break-after:auto} h1.western {font-family:"宋体","SimSun"} h1.cjk {f

[conowen]大钟的专栏 4万+

(十九)安卓文件系统

在安卓应用开发中,文件系统是应用与设备存储交互的核心部分。理解安卓文件系统的结构、访问方式、权限管理和安全性,对于开发高效、安全的应用至关重要。本文将详细介绍安卓文件系统的结构、文件访问与管理、权限管理、文件共享与传输、性能优化、安全性与数据保护以及常见问题解决方案,帮助开发者全面掌握安卓文件系统相关知识。安卓文件系统是安卓设备上用于管理和存储数据的系统。它包括多个分区,每个分区负责不同的功能,如系统文件存储、用户数据存储、缓存等。

小新的博客 2162

安卓应用目录结构

控件属性可以在布局文件里设置,那是初始属性,也可以在程序运行时,通过代码来设置控件属性。

m0_63887380的博客 2280

android 4.2目录结构,关于android的4.2的0文件夹的详解(目录结构挂载分析)

关于android的4.2的0文件夹的详解---- android 4.0 ----在galaxy nexus(GN)手机上userdata分区很大,被挂在/data目录,用户的数据通常是放在sd卡上,然而gn是没有sd卡的,所以google想了一个办法,就是虚拟一个。所以,在userdata分区下有个目录叫media,是内置sd卡的数据存储位置,使用fuse技术将/data/media虚拟成为一...

weixin_30499067的博客 520

安卓1.2 应用目录结构

了解安卓的应用视图和应用目录结构,为接下来的开发提供便利,初步了解安卓代码控制属性

m0_65489276的博客 816

安卓系统镜像_安卓手机 F2FS文件系统镜像快速解析技巧

F2FS文件系统相比传统的EXT4文件系统更适合移动设备存储,EXT4文件系统是从linux系统延申应用至安卓系统当中的,当然了,你可以理解安卓系统其实就是linux系统的一个变种,很多linux系统机制乃至内核漏洞都会在安卓系统中体现,EXT4文件系统最初并不是为安卓存储而设计,当时并没有考虑到安卓系统这样大规模的碎片化存储,导致安卓系统从设计之初到现在一直成为“诟病”的碎片化...

weixin_39845430的博客 1437

(转)关于android的4.2的0文件夹的详解(目录结构挂载分析)

关于android的4.2的0文件夹的详解 ---- android 4.0 ---- 在galaxy nexus(GN)手机上userdata分区很大,被挂在/data目录,用户的数据通常是放在sd卡上,然而gn是没有sd卡的,所以google想了一个办法,就是虚拟一个。 所以,在userdata分区下有个目录叫media,是内置sd卡的数据存储位置,使用fuse技术将/data/

gxj1680的专栏 2562

Android文件系统EXT4与EROFS的对比

本文以RK3568的Android14 SDK为例,首先介绍如何将文件系统配置为EXT4或者EROFS,然后将从开机时长,文件包大小等方面对比EXT4与EROFS。

chenchen00000000的博客 3587
上一篇: Android——4.2.2 源码目录结构分析
下一篇: Android——锁定launch - 原生Browser启动 -引导provision
南丶烟
博客等级 码龄14年 569粉丝 98原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值