来看看安卓手机系统文件的架构

现在用安卓手机的人不在少数,可是很多人还不知道安卓手机系统文件的架构的吧,如果你不了解安卓手机系统文件里的架构的话,如果我们有时要删除文件的话就会产生误删的问题,下面就带大家一起看看安卓手机系统文件的架构吧:

android的系统架构和其操作系统一样,采用了分层的架构。android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和linux核心层。

1.应用程序

Android会同一系列核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用JAVA语言编写的。

2.应用程序框架

开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。

隐藏在每个应用后面的是一系列的服务和系统, 其中包括;

    * 丰富而又可扩展的视图(Views),可以用来构建应用程序, 它包括列表(lists),网格(grids),文本框(text boxes),按钮(buttons), 甚至可嵌入的web浏览器。

    * 内容提供器(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库), 或者共享它们自己的数据

    * 资源管理器(Resource Manager)提供 非代码资源的访问,如本地字符串,图形,和布局文件( layout files )。

    * 通知管理器 (Notification Manager) 使得应用程序可以在状态栏中显示自定义的提示信息。

    * 活动管理器( Activity Manager) 用来管理应用程序生命周期并提供常用的导航回退功能。

有关更多的细节和怎样从头写一个应用程序,请参考 如何编写一个 Android 应用程序.

3.系统运行库

1)程序库

Android 包含一些C/C++库,这些库能被Android系统中不同的组件使用。它们通过 Android 应用程序框架为开发者提供服务。以下是一些核心库:

    * 系统 C 库 - 一个从 BSD 继承来的标准 C 系统函数库( libc ), 它是专门为基于 embedded linux 的设备定制的。

    * 媒体库 - 基于 PacketVideo OpenCORE;该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。编码格式包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG

    * Surface Manager - 对显示子系统的管理,并且为多个应用程序提 供了2D和3D图层的无缝融合。

    * LibWebCore - 一个最新的web浏览器引擎用,支持Android浏览器和一个可嵌入的web视图。

    * SGL - 底层的2D图形引擎

    * 3D libraries - 基于OpenGL ES 1.0 APIs实现;该库可以使用硬件 3D加速(如果可用)或者使用高度优化的3D软加速。

    * FreeType -位图(bitmap)和矢量(vector)字体显示。

    * SQLite - 一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。

2)Android 运行库

Android 包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能。

每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟 机实例。Dalvik被设计成一个设备可以同时高效地运行多个虚拟系统。 Dalvik虚拟机执行(.dex)的Dalvik可执行文件,该格式文件针对小内存使用做了 优化。同时虚拟机是基于寄存器的,所有的类都经由JAVA编译器编译,然后通过SDK中 的 "dx" 工具转化成.dex格式由虚拟机执行。

Dalvik虚拟机依赖于linux内核的一些功能,比如线程机制和底层内存管理机制。

4.Linux 内核

Android 的核心系统服务依赖于 Linux 2.6 内核,如安全性,内存管理,进程管理, 网络协议栈和驱动模型。 Linux 内核也同时作为硬件和软件栈之间的抽象层。

\system\app

这个里面主要存放的是常规下载的应用程序,可以看到都是以APK格式结尾的文件。在这个文件夹下的程序为系统默认的组件,自己安装的软件将不会出现在这里,而是\data\文件夹中。下面是详细的介绍:

\system\app\AlarmClock.apk 闹钟

\system\app\AlarmClock.odex

\system\app\Browser.apk 浏览器

\system\app\Browser.odex

\system\app\Bugreport.apk Bug报告

\system\app\Bugreport.odex

\system\app\Calculator.apk 计算器

\system\app\Calculator.odex

\system\app\Calendar.apk 日历

\system\app\Calendar.odex

\system\app\CalendarProvider.apk 日历提供

\system\app\CalendarProvider.odex

\system\app\Camera.apk 照相机

\system\app\Camera.odex

\system\app\com.amazon.mp3.apk 亚马逊音乐

\system\app\Contacts.apk 联系人

\system\app\Contacts.odex

\system\app\DownloadProvider.apk 下载提供

\system\app\DownloadProvider.odex

\system\app\DrmProvider.apk DRM数字版权提供

\system\app\DrmProvider.odex

\system\app\Email.apk 电子邮件客户端

\system\app\Email.odex

\system\app\FieldTest.apk 测试程序

\system\app\FieldTest.odex

\system\app\GDataFeedsProvider.apk GoogleData提供

\system\app\GDataFeedsProvider.odex

\system\app\Gmail.apk Gmail电子邮件

\system\app\Gmail.odex

\system\app\GmailProvider.apk Gmail提供

\system\app\GmailProvider.odex

\system\app\GoogleApps.apk 谷歌程序包

\system\app\GoogleApps.odex

\system\app\GoogleSearch.apk 搜索工具

\system\app\GoogleSearch.odex

\system\app\gtalkservice.apk GTalk服务

\system\app\gtalkservice.odex

\system\app\HTMLViewer.apk HTML查看器

\system\app\HTMLViewer.odex

\system\app\IM.apk 即使通讯组件包含MSN、yahoo通

\system\app\ImCredentialProvider.apk

\system\app\ImProvider.apk

\system\app\ImProvider.odex

\system\app\Launcher.apk 启动加载器

\system\app\Launcher.odex

\system\app\Maps.apk 电子地图

\system\app\Maps.odex

\system\app\MediaProvider.apk 多媒体播放提供

\system\app\MediaProvider.odex

\system\app\Mms.apk 短信、彩信

\system\app\Mms.odex

\system\app\Music.apk 音乐播放器

\system\app\Music.odex

\system\app\MyFaves.apk T-Mobile MyFaves程序

\system\app\MyFaves.odex

\system\app\PackageInstaller.apk apk安装程序

\system\app\PackageInstaller.odex

\system\app\Phone.apk 电话拨号器

\system\app\Phone.odex

\system\app\Settings.apk 系统设置

\system\app\Settings.odex

\system\app\SettingsProvider.apk 设置提供

\system\app\SettingsProvider.odex

\system\app\SetupWizard.apk 设置向导

\system\app\SetupWizard.odex

\system\app\SoundRecorder.apk 录音工具

\system\app\SoundRecorder.odex

\system\app\Street.apk 街景地图

\system\app\Street.odex

\system\app\Sync.apk 同步程序

\system\app\Sync.odex

\system\app\Talk.apk 语音程序

\system\app\Talk.odex

\system\app\TelephonyProvider.apk 电话提供

\system\app\TelephonyProvider.odex

\system\app\Updater.apk 更新程序

\system\app\Updater.odex

\system\app\Vending.apk 制造商信息

\system\app\Vending.odex

\system\app\VoiceDialer.apk 语音拨号器

\system\app\VoiceDialer.odex

\system\app\YouTube.apk Youtube视频

\system\app\YouTube.odex

 

\system\bin

这个目录下的文件都是系统的本地程序,从bin文件夹名称可以看出是binary二进制的程序,里面主要是Linux系统自带的组件,Android手机网就主要文件做下简单的分析介绍:

\system\bin\akmd

\system\bin\am

\system\bin\app_process 系统进程

\system\bin\dalvikvm Dalvik虚拟机宿主

\system\bin\dbus-daemon 系统BUS总线监控

\system\bin\debuggerd 调试器

\system\bin\debug_tool 调试工具

\system\bin\dexopt DEX选项

\system\bin\dhcpcd DHCP服务器

\system\bin\dumpstate 状态抓取器

\system\bin\dumpsys 系统抓取器

\system\bin\dvz

\system\bin\fillup

\system\bin\flash_image 闪存映像

\system\bin\hciattach

\system\bin\hcid HCID内核

\system\bin\hostapd

\system\bin\hostapd_cli

\system\bin\htclogkernel

\system\bin\input

\system\bin\installd

\system\bin\itr

\system\bin\linker

\system\bin\logcat Logcat日志打印

\system\bin\logwrapper

\system\bin\mediaserver

\system\bin\monkey

\system\bin\mountd 存储挂载器

\system\bin\netcfg 网络设置

\system\bin\ping Ping程序

\system\bin\playmp3 MP3播放器

\system\bin\pm 包管理器

\system\bin\qemud QEMU虚拟机

\system\bin\radiooptions 无线选项

\system\bin\rild RIL组件

\system\bin\sdptool

\system\bin\sdutil

\system\bin\service

\system\bin\servicemanager 服务管理器

\system\bin\sh

\system\bin\ssltest SSL测试

\system\bin\surfaceflinger 触摸感应驱动

\system\bin\svc 服务

\system\bin\system_server

\system\bin\telnetd Telnet组件

\system\bin\toolbox

\system\bin\wlan_loader

\system\bin\wpa_cli

\system\bin\wpa_supplicant

\system\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相关组件

\system\etc\dhcpcd\dhcpcd-hooks

\system\etc\dhcpcd\dhcpcd-run-hooks

\system\etc\dhcpcd\dhcpcd.conf

\system\etc\dhcpcd\dhcpcd-hooks\01-test

\system\etc\dhcpcd\dhcpcd-hooks\20-dns.conf

\system\etc\dhcpcd\dhcpcd-hooks\95-configured

\system\etc\firmware\brf6300.bin

\system\etc\location\gps

\system\etc\location\gps\location 定位相关

\system\etc\location\gps\nmea GPS数据解析

\system\etc\location\gps\properties

\system\etc\security\cacerts.bks

\system\etc\security\otacerts.zip OTA下载验证

\system\etc\wifi\Fw1251r1c.bin

\system\etc\wifi\tiwlan.ini

\system\etc\wifi\wpa_supplicant.conf WPA验证组件

 
\system\fonts

字体文件夹,除了标准字体和粗体、斜体外可以看到文件体积最大的可能是中文字库,或一些unicode字库,从T-Mobile G1上可以清楚的看到显示简体中文正常,其中DroidSansFallback.ttf文件大小

\system\fonts\DroidSans-Bold.ttf

\system\fonts\DroidSans.ttf

\system\fonts\DroidSansFallback.ttf

\system\fonts\DroidSansMono.ttf

\system\fonts\DroidSerif-Bold.ttf

\system\fonts\DroidSerif-BoldItalic.ttf

\system\fonts\DroidSerif-Italic.ttf

\system\fonts\DroidSerif-Regular.ttf

点击查看更多 [安卓手机]

(本文来源) https://www.netded.com/a/jingpinshouji/2012/0414/23479.html

版权声明:
作者:[db:作者]
链接:https://www.shoujiroot.com/archives/7714.html
来源:手机教程
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>