我的手机-我的嵌入式-2
来源:互联网 发布:端口有感叹号 编辑:程序博客网 时间:2024/04/29 20:16
一、我的手机的目录结构及其功能
1.手机根目录整体结构
以上是手机根目录的主要文件夹和文件。
2.用命令查看根目录的详细信息
手机与电脑连接到同一个网络,然后打开CMD输入命令adb connect 手机IP地址
连接到手机。
运行adb shell 命令连接到手机,出现如下界面
输出根目录结构到sdcard的mulu.txt中
打开该文件:
drwxr-xr-x root root 2014-05-09 07:00 acct
drwxrwxr-x system sdcard_rw 2014-03-07 10:31 autobak
drwxrwx--x system cache 2014-05-09 07:00 cache
-rwxr-x--- root root 227888 1970-01-01 08:00 charger
dr-x------ root root 2014-05-09 07:00 config
lrwxrwxrwx root root 2014-05-09 07:00 d -> /sys/kernel/debug
drwxrwx--x system system 2014-05-11 13:40 data
-rw-r--r-- root root 89 1970-01-01 08:00 default.prop
drwxr-xr-x root root 2014-05-09 23:23 dev
lrwxrwxrwx root root 2014-05-09 07:00 emmc -> /mnt/emmc
lrwxrwxrwx root root 2014-05-09 07:00 etc -> /system/etc
lrwxrwxrwx root root 2014-05-09 07:00 fat -> /mnt/fat
drwxrwx--x system system 2014-05-09 07:00 gpsdata
-rwxr-x--- root root 186444 1970-01-01 08:00 init
-rwxr-x--- root root 2344 1970-01-01 08:00 init.goldfish.rc
-rwxr-x--- root root 8772 1970-01-01 08:00 init.qcom.class_core.sh
-rwxr-x--- root root 4529 1970-01-01 08:00 init.qcom.class_main.sh
-rwxr-x--- root root 18211 1970-01-01 08:00 init.qcom.rc
-rwxr-x--- root root 4570 1970-01-01 08:00 init.qcom.sh
-rwxr-x--- root root 28881 1970-01-01 08:00 init.qcom.usb.rc
-rwxr-x--- root root 5063 1970-01-01 08:00 init.qcom.usb.sh
-rwxr-x--- root root 28526 1970-01-01 08:00 init.rc
-rwxr-x--- root root 2680 1970-01-01 08:00 init.target.rc
drwxrwxr-x root system 2014-05-09 07:00 mnt
drwxrwxr-x system system 2012-08-10 11:18 persist
dr-xr-xr-x root root 1970-01-01 08:00 proc
drwxr-xr-x root root 1970-01-01 08:00 res
-rwxr-x--- root root 63472 1970-01-01 08:00 rmt_storage_recovery
drwx------ root root 2012-12-20 20:01 root
drwxr-x--- root root 1970-01-01 08:00 sbin
lrwxrwxrwx root root 2014-05-09 07:00 sdcard -> /mnt/sdcard
drwxr-xr-x root root 2014-05-09 07:00 sys
drwxr-xr-x root root 2013-02-05 19:02 system
drwxrwxr-x system system 2014-05-09 07:00 tmp
drwxrwx--x system system 1970-01-01 08:00 tombstones
d---rwxr-x system sdcard_rw 1970-01-01 08:00 udisk
-rw-r--r-- root root 272 1970-01-01 08:00 ueventd.goldfish.rc
-rw-r--r-- root root 9240 1970-01-01 08:00 ueventd.rc
lrwxrwxrwx root root 2014-05-09 07:00 vendor -> /system/vendor
2.1 根目录下重要文件说明
这就是我的手机的根目录下的文件和文件夹。
重要的目录说明:
1、mnt 挂载点目录
2、etc 系统主要配置文件
3、system Android 系统文件
4、sys Linux 内核文件
5、proc 运行时文件
6、init.rc 启动脚本
7、default.prop 系统属性配置文件
8、data 用户程序目录
9、dev 设备文件
2.2 system 安卓系统文件
system Android 系统文件的下一级目录结构:
drwxr-xr-x root root 2014-04-13 11:02 app
drwxr-xr-x root shell 2014-04-14 22:57 bin
-rw-r--r-- root root 7124 2013-02-05 19:02 build.prop
drwxr-xr-x root root 2014-03-24 09:42 etc
drwxr-xr-x root root 2012-11-20 12:57 fonts
drwxr-xr-x root root 2013-02-05 19:01 framework
drwxr-xr-x root root 2012-11-20 12:43 image
drwxr-xr-x root root 2014-02-06 13:48 lib
drwxr-xr-x root root 2012-11-20 12:43 media
drwxr-xr-x root root 2012-11-20 12:21 presetapp
-rw-r--r-- root root 202628 2008-08-01 20:00 recovery-from-boot.p
-rw-r--r-- root root 649 2012-11-20 12:54 ts.conf
drwxr-xr-x root root 2012-11-20 12:43 tts
drwxr-xr-x root root 2014-02-06 12:50 usr
drwxr-xr-x root shell 2012-11-20 12:54 vendor
drwxr-xr-x root shell 2014-04-14 22:44 xbin
1、usr 用户文件夹,包含共享、键盘布局、时间区域文件等
2、app 常规下载的应用程序,这些 apk 包都是受保护的
3、lib 系统底层库,如平台运行时库等
4、etc 系统的配置文件,比如APN接入点设置等核心配置等
5、framework Android 系统平台核心 framework 的文件
6、build.prop Android 系统属性配置文件
7、xbin 常用开发工具,比如 tcpdump/sqlite3 等
8、bin 系统工具,比如 ps/cp/pm 等
2.3 data 用户程序目录
drwxrwxr-x system system 2014-05-11 12:50 anr
drwxrwx--x system system 2014-05-11 13:41 app
drwxrwx--x system system 2012-08-11 03:33 app-private
drwx------ system system 2012-08-11 03:34 backup
drwxrwxr-x system system 2013-06-20 21:12 brs
srwxrwxrwx system system 2014-05-11 14:00 cam_socket0
srwxrwxrwx system system 2014-05-02 16:24 cam_socket1
drwxrwx--x system system 2014-05-11 13:41 dalvik-cache
drwxrwx--x system system 2014-05-11 13:41 data
drwxr-x--- root log 2012-08-11 03:33 dontpanic
drwxrwx--- drm drm 2013-03-20 17:02 drm
prw-rw-rw- system system 2012-08-11 03:33 dun
drwxrwx--x system system 2012-08-11 03:33 fota
-rwxrwxr-x system system 384 2012-08-11 03:34 initBrs.sh
drwxr-x--x root root 2012-08-11 03:33 local
drwxrwx--- root root 1970-01-01 08:00 lost+found
drwxrwx--t system misc 2012-08-11 03:33 misc
drwx------ root root 2014-05-11 13:39 property
drwxrws--- radio radio 2012-08-11 03:33 radio
drwxrwx--x system system 2012-08-11 03:33 resource-cache
drwxr-xr-x system system 2012-08-11 03:33 shared
drwxrwxr-x system system 2014-05-11 14:03 system
drwx------ system system 2012-08-11 03:33 time
drwxrwxrwx system system 2013-02-12 22:02 tmp
drwxrwxr-x system system 2013-05-02 13:57 tombstones
-rw-rw-rw- root root 16 2012-08-11 03:33 udisk_format.txt
drwxr-xr-x system system 2012-08-11 03:33 user
drwxr-xr-x gps qcom_oncrpc 2012-08-11 03:33 wiper
drwxrwxrwx root root 2014-04-14 22:57 wj008.net
drwxr-xr-x shell root 2012-08-11 03:33 wpstiles
-rw-rw-r-- root root 1039911 2014-05-08 16:06 yl_debug_mode_stack.txt
可以看到 /data 目录下结构都和应用有关,平时安装的用户应用/游戏程序,对应APP的数据,
都被安装在 /data/app 下就可以了。
安卓内核与标准Linux内核的对比:
Android 内核和标准的 Linux 内核一样,主要实现内存管理、进程调度、进程间通信等功能。就最新的 Android 内核代码版本 cupcake(其中Linux内核版本为2.6.27)的内核源码树的根目录结构看,Android 内核源码与标准 Linux 内核并无不同,但是经过与标准 Linux 内核源代码进行详细对比,可以发现,Android内核与标准Linux内核在文件系统、进程间通信机制、内存管理等方面存在不同。
1、文件系统:
不同于桌面系统与服务器,移动设备大多采用的不是硬盘而是采用 Flash 作为存储介质。因此,Android 内核中增加了标准 Linux 专用于 Flash 的文件系统 YAFFS2。对 NAND/Flash 芯片有着良好的支持。YAFFS2 是日志结构的文件系统,提供了损耗平衡和掉电保护,可以有效地避免意外断电对文件系统一致性和完整性的影响。YAFFS2按层次结构设计,分为文件管理接口、内部实现层和NAND,简化了其本身与系统的接 EI 设计,能更方便地集成到系统当中。经过测试证明,YAFFS2 性能比支持 NOR 型闪存的 JFFS2 文件系统更加优秀。
2、进程间通信机制:
Android 增加了一种进程间的通信机制 IPC Binder。Binder 通过守护进程 Service Manager 管理系统中的服务,负责进程问的数据交换。各进程通过 Binder 访问同一块共享内存,以达到数据通信的机制。从应用层的角度看,进程通过访问数据守护进程获取用于数据交换的程序框架接口,调用并通过接口共享数据,而其他进程要访问数据,也只需与程序框架接口进行交互,方便了程序员开发需要交互数据的应用程序。
3、内存管理:
在内存管理模块,Android 内核采用了一种不同于标准 Linux 内核的低内存管理策略。在标准Linux内核当中,使用一种叫做 OOM(Out of Memory) 的低内存管理策略;当内存不足时,系统检查所有的进程,并对进程进行限制评分,获得最高分的进程将被关闭(内核进程除外),而 Android 系统采用的则是一种叫作 LMK(Low Memory Killer) 的机制,这种机制将进程按照重要性进行分级、分组,内存不足时,将处于最低级别组的进程关闭。例如,在移动设备当中,UI界面处于最高级别,所以该进程永远不会被中止。这样,在终端用户看来,系统是稳定运行的。同时,Android 新增加了一种内存共享的处理方式 Ashmem(Anonymous Shared Memory 匿名共享内存)。通过Ashmem,进程间可以匿名自由共享具名的内存块,这种共享方式在标准 Linux 当中也是不被支持的。
4、电源管理:
由于 Android 主要用于移动设备,电源管理就显得尤为重要。因此,在Android内核当中增加了一种新的电源管理策略。目前,Android 采用的是一种较为简单的电源管理策略,通过开关屏幕、开关屏幕背光、开关键盘背光、开关按钮背光和调整屏幕亮度来实现电源管理,并没有实现休眠和待机功能。目前有三种途径判断调整电源管理策略:RPC调用、电池状态改变和电源设置。它通过广播 Intent 或直接调用 API 的方式来与其他模块进行联系,电源管理策略同时还有自动关机机制,当电力低于最低可接受程度时,系统将自动关机。另外,Android 的电源管理模块还会根据用户行为,自动调整屏幕亮度。
5、驱动及其他:
相对于标准内核,Android 内核还添加了字符输出设备、图像显示设备、键盘输入设备、RTC 设备、USBDevice 设备等相关设备驱动,增加了日志(Logger)系统,使应用程序可以访问日志消息,使开发人员获得更大的自由。
- 我的手机-我的嵌入式-2
- 我的手机-我的嵌入式-1
- 我的手机-我的嵌入式-3
- 嵌入式教给我的。。
- 我的手机三部曲
- 我的新手机
- 我的“新”手机
- 纪念我的手机
- 我的android手机
- 我的手机编年史
- 我的嵌入式开发收藏夹
- 我的嵌入式之路
- 我的嵌入式之路
- 我的嵌入式之路
- 我的嵌入式Linux网址
- 我的嵌入式之路
- 我的嵌入式linux网站
- 我的嵌入式之路
- 开发者通过Maven管理项目从中受益
- spark 1.0 编译支持 hadoop 2.4.0
- 迅雷看看播放器4.9.15.2156 如何观看超过5分钟以上的视频?
- 装饰者模式(一)
- MFC学习笔记(六)
- 我的手机-我的嵌入式-2
- 数据结构:树的遍历!按先序遍历创建一棵树,分别以先序、中序、后序遍历输出
- 端口是否被占用
- RMAN 备份与恢复 实例
- 只能输入数字和小数点(一个小数点)
- SharePoint World Clock 世界时钟
- 蔡力能心得2
- 深入理解Javascript 函数作用域 闭包
- 机器学习最佳入门学习资料汇总