进入系统,连接串口
android2.2启动后的系统目录如下:
/ # ls -l
--------w- root root 90 2011-08-05 18:00 ts.log
dr-x------ root root 2011-08-05 18:00 config
drwxrwx--- system cache 2011-08-05 03:12 cache
lrwxrwxrwx root root 2011-08-05 18:00 udisk -> /mnt/udisk
lrwxrwxrwx root root 2011-08-05 18:00 extsd -> /mnt/extsd
lrwxrwxrwx root root 2011-08-05 18:00 sdcard -> /mnt/sdcard
drwxr-xr-x root root 2011-08-05 18:00 acct
drwxrwxr-x root system 2011-08-05 18:00 mnt
lrwxrwxrwx root root 2011-08-05 18:00 d -> /sys/kernel/debug
lrwxrwxrwx root root 2011-08-05 18:00 etc -> /system/etc
drwxr-xr-x root root 1970-01-01 01:22 system
drwxr-xr-x root root 1970-01-01 00:00 sys
drwxr-x--- root root 1970-01-01 00:00 sbin
dr-xr-xr-x root root 1970-01-01 00:00 proc
-rwxr-x--- root root 17954 1970-01-01 00:00 init.rc
-rwxr-x--- root root 1677 1970-01-01 00:00 init.goldfish.rc
-rwxr-x--- root root 492 1970-01-01 00:00 init.freescale.rc
-rwxr-x--- root root 107784 1970-01-01 00:00 init
-rw-r--r-- root root 118 1970-01-01 00:00 default.prop
drwxrwx--x system system 1970-01-01 04:47 data
drwx------ root root 2011-08-02 08:12 root
drwxr-xr-x root root 2011-08-05 18:01 dev
一,首先我们看看系统的mount情况:
/ # busybox df -h
Filesystem Size Used Available Use% Mounted on
tmpfs 210.5M 12.0K 210.5M 0% /dev
tmpfs 210.5M 0 210.5M 0% /mnt/asec
tmpfs 1.0M 4.0K 1020.0K 0% /mnt/shm
/dev/block/mmcblk0p2 121.5M 97.6M 23.9M 80% /system
/dev/block/mmcblk0p5 239.6M 43.5M 183.8M 19% /data
/dev/block/mmcblk0p6 121.6M 5.5M 109.8M 5% /cache
/dev/block/vold/179:1
3.2G 14.3M 3.1G 0% /mnt/sdcard
/dev/block/vold/179:1
3.2G 14.3M 3.1G 0% /mnt/secure/asec
/dev/block/dm-0 2.0M 876.0K 1.2M 42% /mnt/asec/com.aurorasoftworks.quadrant.ui.advanced-1
系统的主要有/system 、/data、/cache 、/sdcard ...
二,system目录结构
1,先看看/system目录结构:/ # cd /system/
/system # ls -l
-rw-r--r-- root root 1372 2011-07-28 02:44 build.prop
drwxr-xr-x root root 2011-07-28 03:07 fonts
drwxr-xr-x root shell 2011-07-28 03:07 xbin
drwxr-xr-x root root 2011-07-28 03:06 usr
drwxr-xr-x root root 2011-07-28 02:45 framework
drwxr-xr-x root root 2011-08-02 07:54 lib
drwxr-xr-x root root 2011-07-28 03:07 etc
drwx------ root root 2011-08-04 08:12 lost+found
drwxr-xr-x root shell 2011-08-03 10:30 bin
drwxr-xr-x root root 1970-01-01 04:04 app
2, /system/app
这个里面主要存放的是常规下载的应用程序,可以看到都是以APK格式结尾的文件, 在这个文件夹下的程序为系统默认的组件, 自己安装的软件将不会出现在这里,而是\data\文件夹中,如下:
\system\app\AlarmClock.apk 闹钟
\system\app\AlarmClock.odex
\system\app\Browser.apk 浏览器
.......不做详细说明了
3,/system/bin
这个目录下的文件都是系统的本地程序,从bin文件夹名称可以看出是binary二进制的程序,里面主要是Linux系统自带的组件,Android手机网就主要文件做下简单的分析介绍:(android 用的工具是toolbox, 开发人员可以用busybox添加更多的命令)
\system\bin\akmd
\system\bin\am
\system\bin\app_process 系统进程
\system\bin\dalvikvm Dalvik虚拟机宿主
\system\bin\dbus-daemon 系统BUS总线监控
......看详细内容可以查看:http://www.android123.com/Androidzhishi/326.html
4,/syste/etc
从文件夹名称来看保存的都是系统的配置文件,比如APN接入点设置等核心配置。\system\etc\apns-conf.xml APN接入点配置文件
\system\etc\AudioFilter.csv 音频过滤器配置文件
\system\etc\AudioPara4.csv
\system\etc\bookmarks.xml 书签数据库
\system\etc\dbus.conf 总线监视配置文件
\system\etc\dhcpcd
\system\etc\event-log-tags
\system\etc\favorites.xml 收藏夹
\system\etc\firmware 固件信息
\system\etc\gps.conf GPS设置文件
\system\etc\hcid.conf 内核HCID配置文件
\system\etc\hosts 网络DNS缓存
\system\etc\init.goldfish.sh
\system\etc\location 定位相关
\system\etc\mountd.conf 存储挂载配置文件
\system\etc\NOTICE.html 提示网页
\system\etc\permissions.xml 权限许可
\system\etc\pvplayer.conf
\system\etc\security
\system\etc\wifi WLAN相关组件
.....
5,/system/fonts
字体文件夹,除了标准字体和粗体、斜体外可以看到文件体积最大的可能是中文字库,或一些unicode字库,从T-Mobile G1上可以清楚的看到显示简体中文正常,其中DroidSansFallback.ttf文件大小
6,/system/framework
framework主要是一些核心的文件,从后缀名为jar可以看出是是系统平台框架。
7,/system/lib
lib目录中存放的主要是系统底层库,如平台运行时库。
8,/system/media
铃声音乐文件夹,除了常规的铃声外还有一些系统提示事件音
9,/system/sounds
默认的音乐测试文件,仅有一个test.mid文件,用于播放测试的文件。
/system/sounds/test.mid
10,/system/usr
用户文件夹,包含共享、键盘布局、时间区域文件等。
11,build.prop 文件
/system/build.prop 是一个属性文件,在Android系统中.prop文件很重要,记录了系统的设置和改变,类似於/etc中的文件。这个文件是如何生成的呢? build/tools/buildinfo.sh 脚本就是专门用于生成build.prop文件 build/core/Makefile中使用build/tools/buildinfo.sh 脚本生成build.prop文件,并把系统默认的system.prop以及定制的system.prop中的设定追加到build.prop文件中后面还有一些设备相关的配置追加到build.prop
12,/system/xbin
此目录下包函管理员使用的命令,如scp su等。
二,/data目录结构
1,/data目录中的内容
/ # cd /data
/data # ls -l
drwxrwx--x shell shell 1970-01-01 01:22 local
drwxrwxr-x system system 2011-08-05 17:40 system
drwxrwx--x system system 1970-01-01 07:15 app
drwxrwx--- root root 2011-08-05 03:12 lost+found
drwx------ system system 1970-01-01 01:23 backup
drwx------ root root 1970-01-01 01:22 property
drwxr-x--- root log 1970-01-01 01:22 dontpanic
drwxrwx--x system system 1970-01-01 07:15 data
drwxrwx--t system misc 1970-01-01 01:22 misc
drwxrwx--x system system 1970-01-01 01:22 app-private
drwxrwxr-x system system 1970-01-01 04:47 anr
drwxrwx--x system system 1970-01-01 07:15 dalvik-cache
2, local property backup 基本看不出来哪里用到了,是空目录。
3,/data/app/目录,(用户程序安装目录)当你有用ES,RP管理工具安装apk包时用到。app就是你安装包的目录。/data/app-private目录是存放应用的临时数据。
4,/data/data目录,(存放应用程序的数据)其中有所要用到的lib库,每个应用对应一个目录/lib/目录,如果你的程序中有so,安装的时候就在/data/data/xxxx/lib/xxx.so下
5,/data/anr目录, 存放log ,安装包时的跟踪过程。APK包的安装过程都记录在这个文件中。
6,/data/system/目录,放一些配置文件,比如,触摸屏ts_calibration,产生的屏校准值,就保存在/data/system/calibration文件中。
7,/data/dalvik-cache 目录,存放的是dalvik对每个apk包优化后产生的dex文件。这个文件可以删除,但是当系统启动后会自动检测,如果没有又会再生成一次,这就是为什么系统第一次启动时,会比后来的慢点的原因。
8,/data/misc目录,存放的各杂项(功能)所产生的配置文件。
三,/cache 目录结构
此目录是系统缓存目录。没有什么好说的。
四,/sdcard目录
用户的SD目录,系统启动时,自动mount。
五,/dev目录
各驱动的设备节点