> 系统分区

# adb shell

# mount

rootfs / rootfs ro 0 0
tmpfs /dev tmpfs rw,mode=755 0 0
devpts /dev/pts devpts rw,mode=600 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
none /acct cgroup rw,cpuacct 0 0
tmpfs /mnt/asec tmpfs rw,mode=755,gid=1000 0 0
none /dev/cpuctl cgroup rw,cpu 0 0
/dev/block/mtdblock0 /system yaffs2 ro 0 0
/dev/block/mtdblock1 /data yaffs2 rw,nosuid,nodev 0 0
/dev/block/mtdblock2 /cache yaffs2 rw,nosuid,nodev 0 0
/dev/block/vold/179:0 /mnt/sdcard vfat rw,dirsync,nosuid,nodev,noexec,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,err  ors=remount-ro 0 0
/dev/block/vold/179:0 /mnt/secure/asec vfat rw,dirsync,nosuid,nodev,noexec,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf  8,errors=remount-ro 0 0
tmpfs /mnt/sdcard/.android_secure tmpfs ro,size=0k,mode=000 0 0

  以上就是 Android 系统的分区结构,可见其挂载方式和 Linux 非常类似,熟悉 Linux 的朋友应该能很容易的看出这些分区的作用大概是什么。

其中需要说明一下的可能是 /dev/block/mtdblock* 这几个核心分区(写入 ROM 的),他们都是使用 yaffs2 文件系统(基于 FLASH 存储),

其中是 /system 这个分区只有特殊的 ro 只读权限,由此可见 Android 在安全性设计方面所下的一些功夫。另外 /dev/block/vold 据说是设计

来替代 udev 的功能,主要用于支持一些热插拔设备。

> 目录概览

# ls -l

dr-x------ root     root              2011-08-18 10:36 config
drwxrwx--- system   cache             2011-06-21 05:32 cache
lrwxrwxrwx root     root              2011-08-18 10:36 sdcard -> /mnt/sdcard
drwxr-xr-x root     root              2011-08-18 10:36 acct
drwxrwxr-x root     system            2011-08-18 10:36 mnt
lrwxrwxrwx root     root              2011-08-18 10:36 d -> /sys/kernel/debug
lrwxrwxrwx root     root              2011-08-18 10:36 etc -> /system/etc
drwxr-xr-x root     root              2010-06-30 21:06 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        12995 1970-01-01 00:00 init.rc
-rwxr-x--- root     root         1677 1970-01-01 00:00 init.goldfish.rc
-rwxr-x--- root     root       107412 1970-01-01 00:00 init
-rw-r--r-- root     root          118 1970-01-01 00:00 default.prop
drwxrwx--x system   system            2011-08-12 06:54 data
drwx------ root     root              2010-01-28 00:59 root
drwxr-xr-x root     root              2011-08-18 10:36 dev

  以上是 Android 根目录下文件目录,根据之前的分区结构可以大致看出每个目录的所处位置和大致功能,

以下是几个重要目录/文件的说明:

  1、mnt                挂载点目录

  2、etc                系统主要配置文件

  3、system            Android 系统文件

  4、sys                Linux 内核文件

  5、proc                运行时文件

  6、init.rc            启动脚本

  7、default.prop        系统属性配置文件

  8、data                用户程序目录

  9、dev                设备文件

system目录:

# ls -l /system

drwxr-xr-x root     root              2010-06-30 21:03 usr
drwxr-xr-x root     root              2010-06-30 21:07 app
drwxr-xr-x root     root              2010-06-30 21:05 lib
drwxr-xr-x root     root              2010-06-30 21:07 etc
drwxr-xr-x root     root              2010-06-30 21:06 framework
-rw-r--r-- root     root         1532 2010-06-30 20:58 build.prop
drwxr-xr-x root     shell             2010-06-30 21:04 xbin
drwxr-xr-x root     root              2010-06-30 21:00 tts
drwxr-xr-x root     root              2010-06-30 21:00 media
drwxr-xr-x root     root              2010-06-30 21:00 fonts
drwxr-xr-x root     shell             2010-06-30 21:04 bin
drw-rw-rw- root     root              2011-08-18 10:36 lost+found

以上是 system 目录下面的主要文件目录下面也简单介绍一下:

  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 等

data目录:

# ls -l /data

drwx------ root     root              2011-06-22 02:32 property
drwxrwx--t system   misc              2011-06-21 05:32 misc
drwxrwx--x shell    shell             2011-06-21 05:32 local
drwxrwx--x system   system            2011-06-21 05:32 app-private
drwx------ system   system            2011-06-21 05:33 backup
drwxrwxr-x system   system            2011-08-12 06:54 anr
drwxrwx--x system   system            2011-08-20 06:50 app
drwxrwx--x system   system            2011-08-20 06:50 data
drwxr-x--- root     log               2011-06-21 05:32 dontpanic
drwxrwx--x system   system            2011-08-20 06:50 dalvik-cache
drwxrwxr-x system   system            2011-08-22 06:40 system
drwxrwx--- root     root              2011-06-21 05:32 lost+found 

  可以看到 /data 目录下结构都和应用有关,平时安装的用户应用/游戏程序,对应APP的数据,

都被安装在 /data/app 下就可以了。

查看系统变量:

# set

ANDROID_ASSETS=/system/app
ANDROID_BOOTLOGO=1
ANDROID_DATA=/data
ANDROID_PROPERTY_WORKSPACE=9,32768
ANDROID_ROOT=/system
ASEC_MOUNTPOINT=/mnt/asec
BOOTCLASSPATH=/system/framework/core.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/android.policy.jar:/system/framework/services.jar
EXTERNAL_STORAGE=/mnt/sdcard
IFS='
'
LD_LIBRARY_PATH=/system/lib
OPTIND=1
PATH=/sbin:/system/sbin:/system/bin:/system/xbin
PS1='# '
PS2='> '
PS4='+ '
PWD=/
_=/system/xbin

从系统变量我们也可以看到一些系统使用中的重要目录。

> 进程分析

# ps

USER     PID   PPID  VSIZE  RSS     WCHAN    PC         NAME
root      1     0     312    220   c009b74c 0000ca4c S /init
root      2     0     0      0     c004e72c 00000000 S kthreadd
root      3     2     0      0     c003fdc8 00000000 S ksoftirqd/0
root      4     2     0      0     c004b2c4 00000000 S events/0
... ...
root      27    1     740    196   c0158eb0 afd0d8ac S /system/bin/sh
system    28    1     808    204   c01a94a4 afd0db4c S /system/bin/servicemanager
root      29    1     3736   372   ffffffff afd0e1bc S /system/bin/vold
root      30    1     3716   336   ffffffff afd0e1bc S /system/bin/netd
... ...
system    59    33    183396 25580 ffffffff afd0db4c S system_server
app_0     108   33    134184 14876 ffffffff afd0eb08 S com.android.inputmethod.pinyin
radio     112   33    147300 15804 ffffffff afd0eb08 S com.android.phone
app_25    122   33    149408 19932 ffffffff afd0eb08 S com.android.launcher
system    124   33    136708 13172 ffffffff afd0eb08 S com.android.settings
app_0     148   33    148892 18044 ffffffff afd0eb08 S android.process.acore

  从这里我们可以看出和 Linux 一样所有进程的入口都是 init,接下来的系统进程也和 Linux 类似,

再接下来就是一些系统的守护程序(Native Service),最后是系统重要的应用程序。

通过这个列表大家也可以看出 Android 启动过程的一些端倪。

  来自:http://blog.csdn.net/shagoo/article/details/6709430

Android平台根目录文件相关推荐

  1. android 文件加密解决方法,一种Android平台的文件快速加密以及解密方法与流程

    本发明属于数据安全领域,具体涉及一种Android平台的文件快速加密以及解密方法. 背景技术: 目前移动办公系统极大地提升了企.事业单位的工作效率,而带装有办公应用的智能设备中会存储一些较高机密性的文 ...

  2. Unity android平台读取文件

    一.代码: 1.通过C#的IO进行文件内容读取: using UnityEngine.UI;public class Test : MonoBehaviour {Text text;string re ...

  3. android加密技术框架,Android平台下文件透明加密技术的研究与实现

    摘要: 移动互联网的迅速发展使得手机应用不断丰富,智能手机的快速兴起为现代人们的生活带来了全新的体验.然而,人们在尽情享受这些全新体验的同时也在面临着日益突出的手机数据安全问题.目前,市场上已经出现了 ...

  4. Unity Android平台读取文件时添加了权限依然报错“Access to the path is denied“

    Unity 调用Android读取文件"Access to the path is denied" 添加权限依然报错 记录一下Unity 调用Android读取文件"Ac ...

  5. ReactNative生成android平台的bundle文件命令

    ReactNative生成android平台的bundle文件命令 2016年11月03日 23:23:28 阅读数:4869 注:如果assets文件没有正确生成,需要手机创建或授权 网上的其它的很 ...

  6. wgt文件怎么安装到手机_uni-app开发经验分享十二: Android平台应用启动时读写手机存储、访问设备信息(如IMEI)等权限策略及提示信息...

    Android平台从6.0(API23)开始系统对权限的管理更加严格,所有涉及敏感权限都需要用户授权允许才能获取. 因此一些应用基础业务逻辑需要的权限会在应用启动时申请,并引导用户允许. 读写手机存储 ...

  7. android代码zip怎么用,Android平台实现Zip文件解压缩

    [android]代码库在Android平台中如何实现Zip文件的解压缩功能呢? 因为Android内部已经集成了zlib库,对于英文和非密码的Zip文件解压缩还是比较简单的,下面给大家一个解压缩zi ...

  8. 基于Android平台的记事本软件(Android Studio项目+报告+app文件)

    移动应用开发技术 期末考核报告 题   目:        基于Android平台的记事本软件             学生姓名     学生学号                           ...

  9. Android平台dalvik模式下java Hook框架ddi的分析(2)--dex文件的注入和调用

    本文博客地址:http://blog.csdn.net/qq1084283172/article/details/77942585 前面的博客<Android平台dalvik模式下java Ho ...

最新文章

  1. 今天开始学习shell编程!!!
  2. 计算机临床医学自动化哪个好,大学专业难度排行前十名,临床医学位列第二
  3. 前端学习(2260)高校案例
  4. python最基本的语句_Python的基本语句
  5. MySQL 5.6, 5.7并行复制测试(二)(r12笔记第10天)
  6. 小白学习vuex的超级全面版本
  7. win10升级助手_微软官网win10下载_win10教程
  8. c语言考研真题及答案pdf,中财信息学院C语言程序设计2002年考研真题及答案.pdf...
  9. 腾讯云TCA运维工程师认证题库及例题示范
  10. mysql批量抽取数据_批量从数据库是提取数据,并显示出来。
  11. Gson的基本介绍和使用
  12. 使用script#编写Xrm的Javascript
  13. concatenation 和 element-wise summation 该选哪个?
  14. Syncthing - P2P文件同步工具 - 快速开始
  15. ES2016/ES2017/ES2018/ES2019 新语法
  16. cqp VS bitrate VS crf [学习笔记]
  17. SpringBoot 封装返回类报错:No converter found for return value of type
  18. [读书笔记]5个小技巧让你写出更好的JavaScript[图]
  19. 音视频OSD——将64*64的GB2312字库的信息叠加至YUV图像
  20. Redis Sentinel主从复制自动切换方案

热门文章

  1. java 调用servlet_[Java Servlet]调用 Servlet
  2. docker安装mysql并配置,Docker安装MySql-挂载外部数据和配置
  3. 生成pojo mysql_通过数据库表反向生成pojo类
  4. vi测试仪维修成功率高吗?_电工电路板检测维修无图电路板的技巧
  5. Java语法基础-1
  6. 2020.12.17
  7. 以前的的华为手机可不可以用鸿蒙系统_鸿蒙系统面世之后,以前的华为手机可以用鸿蒙系统吗?不好意思!...
  8. combobox 怎么实现对listview的类别查询_通过 Django Pagination 实现简单分页
  9. 服务器推送信息到客户端,服务器如何发送消息到客户端
  10. 上传代码到gitee操作