新手,最近研究拍照,不小心扯出了这个东西,查了一堆东西,总结一下。
建议大家先看一看android系统的框架 具体请移步、、、、、(还没有写)
我们平时的引用中主要是访问的手机的sd卡,有内部存储和外部存储,这部分是比较容易混淆的。
具体请移步。。
参考文章:
http://blog.csdn.net/shagoo/article/details/6709430
http://wenku.baidu.com/link?url=Fgo86AyRVrYrovMK1cfwNze-fa3OH7j8AQbaY-LewKF5YAqfu48bpd1NEfFhVVtb9hqq_Zpeo_mtpWvSAIm6zScIfL0Od-pmb0YypcWJ68a
http://www.miui.com/thread-2082623-1-1.html
首先我们打开File Explore (eclipse 或 as),映入眼帘的是一大堆文件和文件夹(注:不同的手机厂商这里显示的文件目录可能会有些许差别,不过差别不会很大)
首先 android时底层是基于Linux,虽然Linux已经把它干掉啦。
左边的是三星sdk4.1.2 右边是华为4.2.2 ,三星的没有外部内存卡,华为的有外部内存卡。
红色标出的都是两者不同的地方,上面裸露在外的配置文件也不同,并未标出:
首先各个文件夹的含义如下,先列出根目录下的文件目录:
acct:系统回收站。
cache:系统缓存,系统运行时的缓存都在这里。
config:
d:
data:用户程序目录,我们所安装的用户程序以及用户程序所产生的数据都在这里都存放在这里。
dev:设备文件,设备节点存放地。
etc:系统主要配置文件存放目录,指向/system/etc。
mnt:挂载点目录,挂载sd卡的,其实,linux下所有的外部设备都会挂载到这个目录下,这样系统就可以管理外部设备了。
proc:运行时文件存放目录
root:什么都没有。
sbin:只放了一个用于调试的adbc程序。
sdcard:是SD卡中FAT32文件系统的挂在的目录,具体的大家研究文件系统去吧。
sys:Linux内核文件目录,用于挂载文件系统。
system:android系统文件,android系统主要安装在这里,一些系统自带的应用也在这里,系统的配置文件等。
init.rc:启动脚本
init.goldfish.rc:初始化文件。
init:进程入口,注意:所有进程的入口都是init。系统启动到文件系统时的第一个运行的程序。
default.prop:系统属性配置文件。
这里要解释一个盲点。
就是这三个东西,第一眼看到的时候,what,什么鬼,为啥有三个。
/sdcard : /mnt/sdcard的符号链,是一个软链接(就是快捷方式),链接到/mnt/sdcard下,也可以查看sdcard的内容。
/mnt/sdcard(<4.0):毫无疑问,sd卡的挂载点,将外部设备挂载在这个目录下。
/storage/sdcard(>4.1):那这个是什么鬼,另外里面还有一个emulated的文件夹。
android 升级到4.2以后,采用的是fuse技术,外部设备会被挂载到/storage/emulated/0这个目录下,而不是传统的/mnt/sdcard上,但为了兼容以前的版本,
同时挂载到 /storage/emulated/legacy,还建立三个软连接(快捷方式) /storage/sdcard0 ,/sdcard,/mnt/sdcard ,都指向 /storage/emulated/legacy这个挂载点。也就是
说文件夹0和legacy指向的地址是一致的。4.1为/storage/usStorage/0
system目录(android系统文件目录):
app:常规下载的应用程序,手机rom中的系统应用存放地,root的手机可以删除应用,中的系统应用存放地这些apk都是受保护的。
bin:系统工具,如ps/pm/cp。
cameradata:
csc:
etc:系统配置文件,如APN接入等核心系统配置。
fonts:字体
framework:属于android平台的一些核心文件,android平台系统框架文件,存放的都是jar和odex(apk课可执行文件)。
lib:系统底层库,如平台运行时库等。
media:多媒体,相机、视频、相册等。
preload:
tts:
usr:用户文件夹,包含共享、键盘布局、时间区域文件等。
vendor:
xbin:常用开发工具,如tcpdump/sqlite3
build.prop:android 系统属性配置文件