Android系统结构目录分析

根目录(/): 文件结构最顶层,里面放了init和 .rc文件,以及各个重要的子目录等 /system 1 2 3 4 uis7863_z6:/ # cd system uis7863_z6:/system # ls apex bin etc framework lib64 product usr xbin app build.prop fonts lib priv-app system_ext vendor /app /priv-app 这个目录存放着系统预装的应用程序(APK 文件)。这些应用是系统的核心应用,如电话、短信、日历等。它们在系统初始化时就被安装,并且用户通常无法直接删除(在未获取 Root 权限的情况下)。例如,系统的拨号应用就位于这个目录中,它提供了基本的通话功能,包括拨打电话号码、查看通话记录等操作。 /system/priv-app 中包括 Launcher,SystemUI,SettingsProvider 等,均是系统的核心应用,这些应用能使用系统级的权限,4.4 之前的所有 /system/app 下的软件都能使用系统级的权限,Google 这样做是把内置到系统的应用也做个级别的区别。放到 /system/priv-app 下的应用比放到 /system/app 下的应用可以声明获得更多的权限。在Android中每个应用都有自己的权限声明,比如要使用系统限制的权限(例如 android.permission.WRITE_SECURE_SETTINGS),我们就需要把程序安装到 /system/app 下。手机被 root 后,通过 adb push 可以把 apk 推送到这两个目录,作为系统应用,用户无法删除。 /bin 包含了许多可执行的二进制文件,这些文件是系统的基础命令工具。例如,ls(用于列出目录内容)、rm(用于删除文件或目录)等常见的 Linux 命令在这里都可以找到对应的 Android 版本。这些命令工具用于执行各种系统管理和操作任务,如文件系统管理、进程管理等。也可以通过 adb shell +本目录的二进制程序名 来执行。 /etc 主要存放系统的配置文件。其中包括网络配置文件(如 Wi - Fi 配置文件)、音频配置文件(用于设置不同音频场景的参数)等。例如,在这个目录中的hosts文件用于配置域名解析,它可以帮助系统将域名映射到相应的 IP 地址,类似于在计算机网络中起到本地域名解析的作用。 /framework 存放着 Android 系统的框架层相关文件。包括 Java 类库(.jar文件)和本地库(.so文件),这些文件为应用程序开发提供了基础的 API 和运行时环境。例如,android.jar文件就位于这个目录,它包含了 Android 开发中常用的类,如Activity、Service等,应用开发者通过引用这些类来构建自己的应用程序。 /lib /lib64 这两个目录主要存放系统的共享库文件。这些库文件支持系统的各种功能,包括图形处理、媒体播放、数据库操作等。例如,libc.so(C 标准库)在这里存放,它为系统和应用提供了基本的 C 语言函数支持,如字符串处理、内存管理等功能。 /data ...

2024-11-08 · 4 分钟 · 1872 字 · lixb