Android系统文件夹结构详细解析!

Android系统文件夹结构详细解析!,第1张

\\system\\app

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

\\system\\app\\AlarmClockapk 闹钟

\\system\\app\\AlarmClockodex

\\system\\app\\Browserapk 浏览器

\\system\\app\\Browserodex

\\system\\app\\Bugreportapk Bug报告

\\system\\app\\Bugreportodex

\\system\\app\\Calculatorapk 计算器

\\system\\app\\Calculatorodex

\\system\\app\\Calendarapk 日历

\\system\\app\\Calendarodex

\\system\\app\\CalendarProviderapk 日历提供

\\system\\app\\CalendarProviderodex

\\system\\app\\Cameraapk 照相机

\\system\\app\\Cameraodex

\\system\\app\\comamazonmp3apk 亚马逊音乐

\\system\\app\\Contactsapk 联系人

\\system\\app\\Contactsodex

\\system\\app\\DownloadProviderapk 下载提供

\\system\\app\\DownloadProviderodex

\\system\\app\\DrmProviderapk DRM数字版权提供

\\system\\app\\DrmProviderodex

\\system\\app\\Emailapk 电子邮件客户端

\\system\\app\\Emailodex

\\system\\app\\FieldTestapk 测试程序

\\system\\app\\FieldTestodex

\\system\\app\\GDataFeedsProviderapk GoogleData提供

\\system\\app\\GDataFeedsProviderodex

\\system\\app\\Gmailapk Gmail电子邮件

\\system\\app\\Gmailodex

\\system\\app\\GmailProviderapk Gmail提供

\\system\\app\\GmailProviderodex

\\system\\app\\GoogleAppsapk 谷歌程序包

\\system\\app\\GoogleAppsodex

\\system\\app\\GoogleSearchapk 搜索工具

\\system\\app\\GoogleSearchodex

\\system\\app\\gtalkserviceapk GTalk服务

\\system\\app\\gtalkserviceodex

\\system\\app\\HTMLViewerapk HTML查看器

\\system\\app\\HTMLViewerodex

\\system\\app\\IMapk 即使通讯组件包含MSN、yahoo通

\\system\\app\\ImCredentialProviderapk

\\system\\app\\ImProviderapk

\\system\\app\\ImProviderodex

\\system\\app\\Launcherapk 启动加载器

\\system\\app\\Launcherodex

\\system\\app\\Mapsapk 电子地图

\\system\\app\\Mapsodex

\\system\\app\\MediaProviderapk 多媒体播放提供

\\system\\app\\MediaProviderodex

\\system\\app\\Mmsapk 短信、彩信

\\system\\app\\Mmsodex

\\system\\app\\Musicapk 音乐播放器

\\system\\app\\Musicodex

\\system\\app\\MyFavesapk T-Mobile MyFaves程序

\\system\\app\\MyFavesodex

\\system\\app\\PackageInstallerapk apk安装程序

\\system\\app\\PackageInstallerodex

\\system\\app\\Phoneapk 电话拨号器

\\system\\app\\Phoneodex

\\system\\app\\Settingsapk 系统设置

\\system\\app\\Settingsodex

\\system\\app\\SettingsProviderapk 设置提供

\\system\\app\\SettingsProviderodex

\\system\\app\\SetupWizardapk 设置向导

\\system\\app\\SetupWizardodex

\\system\\app\\SoundRecorderapk 录音工具

\\system\\app\\SoundRecorderodex

\\system\\app\\Streetapk 街景地图

\\system\\app\\Streetodex

\\system\\app\\Syncapk 同步程序

\\system\\app\\Syncodex

\\system\\app\\Talkapk 语音程序

\\system\\app\\Talkodex

\\system\\app\\TelephonyProviderapk 电话提供

\\system\\app\\TelephonyProviderodex

\\system\\app\\Updaterapk 更新程序

\\system\\app\\Updaterodex

\\system\\app\\Vendingapk 制造商信息

\\system\\app\\Vendingodex

\\system\\app\\VoiceDialerapk 语音拨号器

\\system\\app\\VoiceDialerodex

\\system\\app\\YouTubeapk Youtube视频

\\system\\app\\YouTubeodex

\\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-confxml APN接入点配置文件

\\system\\etc\\AudioFiltercsv 音频过滤器配置文件

\\system\\etc\\AudioPara4csv

\\system\\etc\\bookmarksxml 书签数据库

\\system\\etc\\dbusconf 总线监视配置文件

\\system\\etc\\dhcpcd

\\system\\etc\\event-log-tags

\\system\\etc\\favoritesxml 收藏夹

\\system\\etc\\firmware 固件信息

\\system\\etc\\gpsconf GPS设置文件

\\system\\etc\\hcidconf内核HCID配置文件

\\system\\etc\\hosts 网络DNS缓存

\\system\\etc\\initgoldfishsh

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

\\system\\etc\\mountdconf 存储挂载配置文件

\\system\\etc\\NOTICEhtml 提示网页

\\system\\etc\\permissionsxml 权限许可

\\system\\etc\\pvplayerconf

\\system\\etc\\security

\\system\\etc\\wifi WLAN相关组件

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

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

\\system\\etc\\dhcpcd\\dhcpcdconf

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

\\system\\etc\\dhcpcd\\dhcpcd-hooks\\20-dnsconf

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

\\system\\etc\\firmware\\brf6300bin

\\system\\etc\\location\\gps

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

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

\\system\\etc\\location\\gps\\properties

\\system\\etc\\security\\cacertsbks

\\system\\etc\\security\\otacertszip OTA下载验证

\\system\\etc\\wifi\\Fw1251r1cbin

\\system\\etc\\wifi\\tiwlanini

\\system\\etc\\wifi\\wpa_supplicantconf WPA验证组件

\\system\\fonts

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

\\system\\fonts\\DroidSans-Boldttf

\\system\\fonts\\DroidSansttf

\\system\\fonts\\DroidSansFallbackttf

\\system\\fonts\\DroidSansMonottf

\\system\\fonts\\DroidSerif-Boldttf

\\system\\fonts\\DroidSerif-BoldItalicttf

\\system\\fonts\\DroidSerif-Italicttf

\\system\\fonts\\DroidSerif-Regularttf

\\system\\framework

framework主要是一些核心的文件,从后缀名为jar可以看出是是系统平台框架。

\\system\\framework\\amjar

\\system\\framework\\amodex

\\system\\framework\\androidawtjar AWT库

\\system\\framework\\androidawtodex

\\system\\framework\\androidpolicyjar

\\system\\framework\\androidpolicyodex

\\system\\framework\\androidtestrunnerjar

\\system\\framework\\androidtestrunnerodex

\\system\\framework\\comgoogleandroidgtalkservicejar GTalk服务

\\system\\framework\\comgoogleandroidgtalkserviceodex

\\system\\framework\\comgoogleandroidmapsjar 电子地图库

\\system\\framework\\comgoogleandroidmapsodex

\\system\\framework\\corejar 核心库,启动桌面时首先加载这个

\\system\\framework\\coreodex

\\system\\framework\\extjar

\\system\\framework\\extodex

\\system\\framework\\framework-resapk

\\system\\framework\\framework-testsjar

\\system\\framework\\framework-testsodex

\\system\\framework\\frameworkjar

\\system\\framework\\frameworkodex

\\system\\framework\\inputjar 输入库

\\system\\framework\\inputodex

\\system\\framework\\itrjar

\\system\\framework\\itrodex

\\system\\framework\\monkeyjar

\\system\\framework\\monkeyodex

\\system\\framework\\pmjar 包管理库

\\system\\framework\\pmodex

\\system\\framework\\servicesjar

\\system\\framework\\servicesodex

\\system\\framework\\ssltestjar

\\system\\framework\\ssltestodex

\\system\\framework\\svcjar 系统服务

\\system\\framework\\svcodex

\\system\\lib

lib目录中存放的主要是系统底层库,如平台运行时库。

\\system\\lib\\libaesso

\\system\\lib\\libaglso

\\system\\lib\\libandroid_runtimeso Android运行时库

\\system\\lib\\libandroid_serversso 系统服务组件

\\system\\lib\\libaudioso 音频处理

\\system\\lib\\libaudioeqso EQ均衡器

\\system\\lib\\libaudioflingerso 音频过滤器

\\system\\lib\\libbluetoothso 蓝牙组件

\\system\\lib\\libcso

\\system\\lib\\libcameraso 超相机组件

\\system\\lib\\libcameraserviceso

\\system\\lib\\libcorecgso

\\system\\lib\\libcryptoso 加密组件

\\system\\lib\\libctestso

\\system\\lib\\libcutilsso

\\system\\lib\\libdbusso

\\system\\lib\\libdlso

\\system\\lib\\libdrm1so DRM解析库

\\system\\lib\\libdrm1_jniso

\\system\\lib\\libdvmso

\\system\\lib\\libexifso

\\system\\lib\\libexpatso

\\system\\lib\\libFFTEmso

\\system\\lib\\libGLES_CMso

\\system\\lib\\libgpsso

\\system\\lib\\libhardwareso

\\system\\lib\\libhglso

\\system\\lib\\libhtc_rilso

\\system\\lib\\libicudataso

\\system\\lib\\libicui18nso

\\system\\lib\\libicuucso

\\system\\lib\\liblogso

\\system\\lib\\libmso

\\system\\lib\\libmediaso

\\system\\lib\\libmediaplayerserviceso

\\system\\lib\\libmedia_jniso

\\system\\lib\\libnativehelperso

\\system\\lib\\libnetutilsso

\\system\\lib\\libOmxCoreso

\\system\\lib\\libOmxH264Decso

\\system\\lib\\libpixelflingerso

\\system\\lib\\libpvasfso

\\system\\lib\\libpvasfregso

\\system\\lib\\libpvauthorso

\\system\\lib\\libpvcommonso

\\system\\lib\\libpvdownloadso

\\system\\lib\\libpvdownloadregso

\\system\\lib\\libpvmp4so

\\system\\lib\\libpvmp4regso

\\system\\lib\\libpvnet_supportso

\\system\\lib\\libpvplayerso

\\system\\lib\\libpvrtspso

\\system\\lib\\libpvrtspregso

\\system\\lib\\libqcameraso

\\system\\lib\\libreference-rilso

\\system\\lib\\librilso

\\system\\lib\\librpcso

\\system\\lib\\libsglso

\\system\\lib\\libsonivoxso

\\system\\lib\\libsoundpoolso

\\system\\lib\\libsqliteso

\\system\\lib\\libsslso

\\system\\lib\\libstdc++so

\\system\\lib\\libsurfaceflingerso

\\system\\lib\\libsystem_serverso

\\system\\lib\\libthread_dbso

\\system\\lib\\libUAPI_jniso

\\system\\lib\\libuiso

\\system\\lib\\libutilsso

\\system\\lib\\libvorbisidecso

\\system\\lib\\libwbxmlso

\\system\\lib\\libwbxml_jniso

\\system\\lib\\libwebcoreso

\\system\\lib\\libwpa_clientso

\\system\\lib\\libxml2wbxmlso

\\system\\lib\\libzso

\\system\\lib\\modules

\\system\\lib\\modules\\wlanko

开发一个程序,android的系统框架是层层相扣,不能分开的。

应用程序层:

这个层主要指的就是用java语言编写的运行在虚拟机上的程序,Google在最开始时就 在android系统中捆绑了一些核心的应用(核心应用的编写必须使用应用层序框架层的API框架),例如你android手机中SMS发送短消息的程序,通讯录等等。

应用程序框架层:

指的就是开发时所需要的API框架,开发人员是在遵守该框架的原则上,调用他们的,开发自己所需要的程序。

系统运行库层:

用于支持应用框架层的各个组件的。就是说当开发人员使用android应用框架层时,android系统会通过一些C/C++库来支持对我们使用的各个组件,使其能更好地为开发者服务。

linux核心层:

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

因此,你开发的程序是运行在应用程序层,开发中写代码调用的包,是基于应用框架层,而在应用框架中的各个组件是需要系统运行库的支持的,例如,你要登陆查看的信息就必须访问到SQLite数据库,SQLite就位于系统运行库,再有,你登入要输入信息,肯定需要键盘驱动的支持,而各种驱动是依赖Linux内核的。

android应用开发框架是ApplicationFramework其系统架构由5部分组成,分别是:LinuxKernel、AndroidRuntime、Libraries、ApplicationFramework、。第二部分将详细介绍这5个部分。下面自底向上分析各层。

Android架构

1、LinuxKernel

Android基于Linux26提供核心系统服务,例如:安全、内存管理、进程管理、网络堆栈、驱动模型。LinuxKernel也作为硬件和软件之间的抽象层,它隐藏具体硬件细节而为上层提供统一的服务。如果你学过计算机网络知道OSI/RM,就会知道分层的好处就是使用下层提供的服务而为上层提供统一的服务,屏蔽本层及以下层的差异,当本层及以下层发生了变化不会影响到上层。也就是说各层各尽其职,各层提供固定的SAP(ServiceAessPoint),专业点可以说是高内聚、低耦合。如果你只是做应用开发,就不需要深入了解LinuxKernel层。

2、AndroidRuntime

Android包含一个核心库的集合,提供大部分在Java编程语言核心类库中可用的功能。每一个Android应用程序是Dalvik虚拟机中的实例,运行在他们自己的进程中。Dalvik虚拟机设计成,在一个设备可以高效地运行多个虚拟机。Dalvik虚拟机可执行文件格式是dex,dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。大多数虚拟机包括JVM都是基于栈的,而Dalvik虚拟机则是基于寄存器的。两种架构各有优劣,一般而言,基于栈的机器需要更多指令,而基于寄存器的机器指令更大。dx是一套工具,可以将Javaclass转换成dex格式。一个dex文件通常会有多个class。由于dex有时必须进行最佳化,会使文件大小增加1-4倍,以ODEX结尾。Dalvik虚拟机依赖于Linux内核提供基本功能,如线程和底层内存管理。

3、Libraries

Android包含一个C/C库的集合,供Android系统的各个组件使用。这些功能通过Android的应用程序框架(applicationframework)暴露给开发者。下面列出一些核心库:系统C库--标准C系统库(libc)的BSD衍生,调整为基于嵌入式Linux设备媒体库--基于PacketVideo的OpenCORE。这些库支持播放和录制许多流行的音频和视频格式,以及静态图像文件,包括MPEG4、H264、MP3、AAC、AMR、JPG、PNG界面管理--管理访问显示子系统和无缝组合多个应用程序的二维和三维图形层LibWebCore--新式的Web浏览器引擎,驱动Android浏览器和内嵌的web视图SGL--基本的2D图形引擎3D库--基于OpenGLES10APIs的实现。库使用硬件3D加速或包含高度优化的3D软件光栅FreeType--位图和矢量字体渲染SQLite--所有应用程序都可以使用的强大而轻量级的关系数据库引擎

4、ApplicationFramework

通过提供开放的开发平台,Android使开发者能够编制极其丰富和新颖的应用程序。开发者可以自由地利用设备硬件优势、访问位置信息、运行后台服务、设置闹钟、向状态栏添加通知等等,很多很多。开发者可以完全使用核心应用程序所使用的框架APIs。应用程序的体系结构旨在简化组件的重用,任何应用程序都能发布他的功能且任何其他应用程序可以使用这些功能(需要服从框架执行的安全限制)。这一机制允许用户替换组件。所有的应用程序其实是一组服务和系统,包括:视图(View)--丰富的、可扩展的视图集合,可用于构建一个应用程序。包括包括列表、网格、文本框、按钮,甚至是内嵌的网页浏览器内容提供者(ContentProviders)--使应用程序能访问其他应用程序(如通讯录)的数据,或共享自己的数据资源管理器(ResourceManager)--提供访问非代码资源,如本地化字符串、图形和布局文件通知管理器(Manager)--使所有的应用程序能够在状态栏显示自定义警告活动管理器(ActivityManager)--管理应用程序生命周期,提供通用的导航回退功能

5、

Android装配一个核心应用程序集合,包括电子邮件客户端、SMS程序、日历、地图、浏览器、联系人和其他设置。所有应用程序都是用Java编程语言写的。更加丰富的应用程序有待我们去开发!从上面我们知道Android的架构是分层的,非常清晰,分工很明确。Android本身是一套软件堆迭(SoftwareStack),或称为「软件迭层架构」,迭层主要分成三层: *** 作系统、中间件、应用程序。从上面我们也看到了开源的力量,一个个熟悉的开源软件在这里贡献了自己的一份力量。

以上就是关于Android系统文件夹结构详细解析!全部的内容,包括:Android系统文件夹结构详细解析!、一般的android开发都用到了系统架构哪些层、安卓app开发框架有哪些等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9452346.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存