android根文件系统目录结构
1.Android系统分区
2.根文件系统目录结构
cache :是缓存临时文件夹,
etc :指向 /system/etc ,众所周知的配置文件存放目录
system :是Android根文件系统中一个很重要的目录,系统中的大部分东西都在这里了
sys:用于挂载 sysfs文件系统。。
proc :/proc 文件系统下的多种文件提供的系统信息不是针对某个特定进程的,而是能够在整个系统范围的上下文中使用。
mnt:U盘等外部存储设备挂载路径
data :存放用户安装的软件以及各种数据。
dev :设备节点文件的存放地。
tmp:写权限最近在做一个项目,需要应用将一个程序(比如testcmd)放到/data/local/tmp中执行。
storage:外部SD卡所在目录
Init: 是系统启动到文件系统的时候第一个运行的程序
init.rc :系统初始化脚本
Android中的内核启动后,kernel会启动第一个用户级别的进程:init,它是一个由内核启动的用户级进程。内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式,完成引导进程。init始终是第一个进程。
2.2.2---init 进程
Init源码位置:JB目录下system/core/init/init.c中。
Init作用:
(1)、 创建一些linux根文件系统中的目录
(2)、读取并且解析init.rc文件
(3)、读取并且解析硬件相关的init.magellanbroad.rc脚本文件
(4)、初始化动态设备管理,设备文件有变化时反应给内核
(5)、启动系统属性服务: system property service
(6)、启动init.rc中定义的boot 等各种action和service.
………
2.2.2---system目录结构
System 目录结构分析
\system\app
这个里面主要存放的是常规下载的应用程序,可以看到都是以APK格式结尾的文件, 在这个文件夹下的程序为系统默认的组件,自己安装的软件将不会出现在这里,而是\data\app。
\system\bin
这个目录下的文件都是系统的本地程序,从bin文件夹名称可以看出是binary二进制的程序,里面主要是Linux系统自带的组件
\system\etc
从文件夹名称来看保存的都是系统的配置文件
\system\fonts
字体文件夹,除了标准字体和粗体、斜体外可以看到文件体积最大的可能是中文字库
\system\framework
framework主要是一些核心的文件,从后缀名为jar可以看出是是系统平台框架
\system\lib
lib目录中存放几乎所有的共享库(.so)文件
\system\media
铃声音乐文件夹,除了常规的铃声外还有一些系统提示事件音
\system\xbin
系统员管理工具
build.prop
系统全局属性
……..
…….
特别说明:
build.prop 是一个属性文件,在Android系统中.prop文件很重要,记录了系统的设置和改变,类似於/etc中的文件。
1、查看build.prop
#getprop
……
[ro.secure]: [0]
[ro.serialno]: []
[ro.sf.lcd_density]: [160]
[ro.wifi.channels]: [14]
[service.adb.tcp.port]: [5555]
[service.bootanim.exit]: [1]
[sys.boot_completed]: [1]
[sys.usb.config]: [adb]
…..
# getprop ro.sf.lcd_density //查看单个属性
2、设置属性
#setprop ro.sf.lcd_density 240
一、替换android系统文件
分别可通过U盘copy 和adb push等方式替换
U盘里放需要替换的文件
1、 U盘插进板子USB接口、usb会自动mount在系统跟目录的/mnt/udisk目录下
2、 先删除掉系统中需要替换的文件
3、 命令cp 相应文件到自己的目录
adb push方式
1、 adb连接设备
2、 adb push 本地替换文件目录 android系统相关目录
ps:替换android 系统apk(atv.apk)
1、 系统apk 存放在/system/app目录下,系统system分区默认为只读的,首选需要重新mountsystem 目录 成为可读写
#mount –o remount rw /system
2、 删除atv.apk
#rm /system/app/atv.apk
如需为了push进系统的apk里面生效我们还需删除掉apk在/data/data目录下生成的相应数据
#pm install com.realtek.atv
3、 push 新的apk进系统
#adb push d:\atv.apk /system/app
二、 android 独立模块的编译(apk、so、jar档等)
android的编译命令有m mm mmm等三个编译命令
m:编译所有的模块
mm:编译当前目录下的模块,当前目录下要有Android.mk文件
mmm:编译指定路径下的模块,指定路径下要有Android.mk文件
想使用这些命令,首先需要在android源码根目录执行.build/envsetup.sh 脚本设置环境
#source ./build/envsetup.sh或者#. build/envsetup.sh
Ps:
1、编译apk Y:\Workspace\kernel\android\JB\device\realtek\app\atv
phoenix@rtkPhoenix:~/Workspace/kernel/android/JB$ TARGET_PRODUCT=magellan_tv010 mmm ./device/realtek/apps/Atv/
将会在下面的目录下生成atv.apk
Y:\Workspace\kernel\android\JB\out\target\product\magellan_tv010\system\app/atv.apk
2、编译jar档Y:\Workspace\kernel\android\JB\frameworks\base\services\java
phoenix@rtkPhoenix:~/Workspace/kernel/android/JB$ TARGET_PRODUCT=magellan_tv010 mmm ./ frameworks/base/services/java
将会在下面的目录下生成services.jar
Y:\Workspace\kernel\android\JB\out\target\product\magellan_tv010\system\framework\ services.jar
为了每次都要输入TARGET_PRODUCT对应的产品编号可以做如下操作:
phoenix@rtkPhoenix:~/Workspace/kernel/android/JB$lunch
You're building on Linux
Lunch menu... pick a combo:
……
13.rtk_magellan_tv001-eng
14. magellan_tv010-eng
…….
Which would you like? [full-eng] 14
….
phoenix@rtkPhoenix:~/Workspace/kernel/android/JB$
android根文件系统目录结构相关推荐
- Android 10 根文件系统和编译系统(一):根文件系统目录结构
配套系列教学视频链接: Android 10.0 AOSP源码编译:https://edu.csdn.net/course/detail/35479 Android 10.0 根文件系统和编译系统:h ...
- linux根文件系统目录结构
一.介绍 linux根文件系统也就是我们平时所说的rootfs,所有的文件都要在文件系统下才能被识别,包括所有的配置文件,这里介绍一下根文件系统目录结构 二.总统结构 /bin:linux的常用命令 ...
- Linux 根文件系统目录结构与功能,4.Linux根文件系统和目录结构及bash特性
4.1Linux目录结构和根文件系统全面讲解 Linux文件系统: Linux:glibc 程序编译方式: 动态链接 静态编译 进程的类型: 终端:硬件设备, 关联一个用户接口 与终端相关:通过终端启 ...
- linux 源码目录结构 文件系统目录结构
学习Linux也有一段时间了,具体来整理一下Linux源码的目录结构和文件系统的目录结构,以便加深记忆. 一.Linux源码的目录结构 首先上一张截图,如下所示: 再看各个文件的介绍,借用一下其他资源 ...
- 文件系统(文件系统目录结构、磁盘分区、虚拟文件系统)、linux内核结构框图
什么是文件系统? 常规认知就是根目录下那些文件,但其实并不是那样.文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构:即在存储设备 ...
- Linux下文件系统目录结构
Linux 文件系统目录结构简介 对于Linux来讲它的树型结构与Windows不同,Windows可以有多个分区,每个分区都有根,但Linux 只有一个根,其他的所有文件.目录或硬盘分区.软盘.光盘 ...
- 文件系统目录结构(Linux)
文件系统目录 概述 一.文件系统结构 1. 什么是文件系统目录结构? 2.具体有: 二.文件类型 三. 文件系统(文件管理系统的方法)的种类有哪些? 四. 什么是分区? 五.虚拟文件系统Virtual ...
- Linux源码目录结构和Linux文件系统目录结构
学习Linux也有一段时间了,具体来整理一下Linux源码的目录结构和文件系统的目录结构,以便加深记忆. 一.Linux源码的目录结构 首先上一张截图,如下所示: 再看各个文件的介绍,借用一下其他资源 ...
- 【Linux】第三部分 Linux文件系统目录结构
[Linux]第三部分 Linux文件系统目录结构 文章目录 [Linux]第三部分 Linux文件系统目录结构 3. Linux文件系统目录结构 总结 3. Linux文件系统目录结构 可以右键打开 ...
最新文章
- 为什么阿里巴巴不建议在for循环中使用+进行字符串拼接?
- [No0000176]Git常用命令速查表(收藏大全)
- ASP.NET Core Controller与IOC的羁绊
- RxJava + Java8 + Java EE 7 + Arquillian =幸福
- git粘贴命令行_如何使用git检测复制和粘贴代码?
- nodejs接收表单写入mysql_NodeJS提交表单存数据库(转)
- 应用程序池优化配置方案(IIS7、IIS7.5)
- 1、绪论初识机器学习
- 关系型数据库 vs 非关系型数据库
- web之表单form
- Mysql——数据查询
- Python 学习笔记 (1)输出语句
- Vue 常用前端UI框架
- 计算机考研复试题(近十万字)
- import itchat ModuleNotFoundError: No module named 'itchat'
- 阿里云ACE 架构师 认证指南
- AES256加解密java语言实现
- Strtok的使用方法
- 常见监控摄像头专业术语(码流、分辨率、帧率)详解
- runtime 黑魔法