【Android源码 栏目提醒】:网学会员--在 Android源码 编辑为广大网友搜集整理了:android系统文件夹简介 - 其它资料绩等信息,祝愿广大网友取得需要的信息,参考学习。
android 系统文件夹简介system/app 文件夹里面主要存放的是常规的应用软件,可以看到都是以 APK 格式结尾的文件。
此文件夹下的程序为系统默认的程序,也就是 rom 包里集成的软件,自己安装的软件将不会出现在这里,而是data文件夹中。
下面是详细的介绍:(rom 包不同会有所不同)systemappAlarmClock.apk 闹钟systemappAlarmClock.odexsystemappBrowser.apk 浏览器systemappBrowser.odexsystemappBugreport.apk Bug 报告systemappBugreport.odexsystemappCalculator.apk 计算器systemappCalculator.odexsystemappCalendar.apk 日历systemappCalendar.odexsystemappCalendarProvider.apk 日历提供systemappCalendarProvider.odexsystemappCamera.apk 照相机systemappCamera.odexsystemappcom.amazon.mp3.apk 亚马逊音乐systemappContacts.apk 联系人systemappContacts.odexsystemappDownloadProvider.apk 下载提供systemappDownloadProvider.odexsystemappDrmProvider.apk DRM 数字版权提供systemappDrmProvider.odexsystemappEmail.apk 电子邮件客户端systemappEmail.odexsystemappFieldTest.apk 测试程序systemappFieldTest.odexsystemappGDataFeedsProvider.apk GoogleData 提供systemappGDataFeedsProvider.odexsystemappGmail.apk Gmail 电子邮件systemappGmail.odexsystemappGmailProvider.apk Gmail 提供systemappGmailProvider.odexsystemappGoogleApps.apk 谷歌程序包systemappGoogleApps.odexsystemappGoogleSearch.apk 搜索工具systemappGoogleSearch.odexsystemappgtalkservice.apk GTalk 服务systemappgtalkservice.odexsystemappHTMLViewer.apk HTML 查看器systemappHTMLViewer.odexsystemappIM.apk 即使通讯组件包含 MSN、yahoo 通systemappImCredentialProvider.apksystemappImProvider.apksystemappImProvider.odexsystemappLauncher.apk 启动加载器systemappLauncher.odexsystemappMaps.apk 电子地图systemappMaps.odexsystemappMediaProvider.apk 多媒体播放提供systemappMediaProvider.odexsystemappMms.apk 短信、彩信systemappMms.odexsystemappMusic.apk 音乐播放器systemappMusic.odexsystemappMyFaves.apk T-Mobile MyFaves 程序systemappMyFaves.odexsystemappPackageInstaller.apk apk 安装程序systemappPackageInstaller.odexsystemappPhone.apk 电话拨号器systemappPhone.odexsystemappSettings.apk 系统设置systemappSettings.odexsystemappSettingsProvider.apk 设置提供systemappSettingsProvider.odexsystemappSetupWizard.apk 设置向导systemappSetupWizard.odexsystemappSoundRecorder.apk 录音工具systemappSoundRecorder.odexsystemappStreet.apk 街景地图systemappStreet.odexsystemappSync.apk 同步程序systemappSync.odexsystemappTalk.apk 语音程序systemappTalk.odexsystemappTelephonyProvider.apk 电话提供systemappTelephonyProvider.odexsystemappUpdater.apk 更新程序systemappUpdater.odexsystemappVending.apk 制造商信息systemappVending.odexsystemappVoiceDialer.apk 语音拨号器systemappVoiceDialer.odexsystemappYouTube.apk Youtube 视频systemappYouTube.odexsystem/bin 这个目录下的文件都是系统的本地程序,从 bin 文件夹名称可以看出是 binary二进制的程序,里面主要是 Linux 系统自带的组件,主要文件的简单分析介绍:systembinakmdsystembinamsystembinapp_process 系统进程systembindalvikvm Dalvik 虚拟机宿主systembindbus-daemon 系统 BUS 总线监控systembindebuggerd 调试器systembindebug_tool 调试工具systembindexopt DEX 选项systembindhcpcd DHCP 服务器systembindumpstate 状态抓取器systembindumpsys 系统抓取器systembindvzsystembinfillupsystembinflash_image 闪存映像systembinhciattachsystembinhcid HCID 内核systembinhostapdsystembinhostapd_clisystembinhtclogkernelsystembininputsystembininstalldsystembinitrsystembinlinkersystembinlogcat Logcat 日志打印systembinlogwrappersystembinmediaserversystembinmonkeysystembinmountd 存储挂载器systembinnetcfg 网络设置systembinping Ping 程序systembinplaymp3 MP3 播放器systembinpm 包管理器systembinqemud QEMU 虚拟机systembinradiooptions 无线选项systembinrild RIL 组件systembinsdptoolsystembinsdutilsystembinservicesystembinservicemanager 服务管理器systembinshsystembinssltest SSL 测试systembinsurfaceflinger 触摸感应驱动systembinsvc 服务systembinsystem_serversystembintelnetd Telnet 组件systembintoolboxsystembinwlan_loadersystembinwpa_clisystembinwpa_supplicantsystemetc 文件夹,从文件夹名称来看保存的都是系统的配置文件,比如 APN 接入点设置等核心配置。
systemetcapns-conf.xml APN 接入点配置文件systemetcAudioFilter.csv 音频过滤器配置文件systemetcAudioPara4.csvsystemetcbookmarks.xml 书签数据库systemetcdbus.conf 总线配置文件systemetcdhcpcdsystemetcevent-log-tagssystemetcfavorites.xml 收藏夹systemetcfirmware 固件信息systemetcgps.conf GPS 设置文件systemetchcid.conf 内核 HCID 配置文件systemetchosts 网络 DNS 缓存systemetcinit.goldfish.shsystemetclocation 定位相关systemetcmountd.conf 存储挂载配置文件systemetcNOTICE.html 提示网页systemetcpermissions.xml 权限许可systemetcpvplayer.confsystemetcsecuritysystemetcwifi WLAN 相关组件systemetcdhcpcddhcpcd-hookssystemetcdhcpcddhcpcd-run-hookssystemetcdhcpcddhcpcd.confsystemetcdhcpcddhcpcd-hooks01-testsystemetcdhcpcddhcpcd-hooks20-dns.confsystemetcdhcpcddhcpcd-hooks95-configuredsystemetcfirmwarebrf6300.binsystemetclocationgpssystemetclocationgpslocation 定位相关systemetclocationgpsnmea GPS 数据解析systemetclocationgpspropertiessystemetcsecuritycacerts.bkssystemetcsecurityotacerts.zip OTA 下载验证systemetcwifiFw1251r1c.binsystemetcwifitiwlan.inisystemetcwifiwpa_supplicant.conf WPA 验证组件systemfonts 字体文件夹,除了标准字体和粗体、斜体外可以看到文件体积最大的可能是中文字库,或一些 unicode 字库,从 T-Mobile G1 上可以清楚的看到显示简体中文正常,其中 DroidSansFallback.ttf 文件大小systemfontsDroidSans-Bold.ttfsystemfontsDroidSans.ttfsystemfontsDroidSansFallback.ttfsystemfontsDroidSansMono.ttfsystemfontsDroidSerif-Bold.ttfsystemfontsDroidSerif-BoldItalic.ttfsystemfontsDroidSerif-Italic.ttfsystemfontsDroidSerif-Regular.ttfsystemframeworkframework 主要是一些核心的文件,从后缀名为 jar 可以看出是是系统平台框架。
systemframeworkam.jarsystemframeworkam.odexsystemframeworkandroid.awt.jar AWT 库systemframeworkandroid.awt.odexsystemframeworkandroid.policy.jarsystemframeworkandroid.policy.odexsystemframeworkandroid.test.runner.jarsystemframeworkandroid.test.runner.odexsystemframeworkcom.google.
android.gtalkservice.jar GTalk 服务systemframeworkcom.google.
android.gtalkservice.odexsystemframeworkcom.google.
android.maps.jar 电子地图库systemframeworkcom.google.
android.maps.odexsystemframeworkcore.jar 核心库,启动桌面时首先加载这个systemframeworkcore.odexsystemframeworkext.jarsystemframeworkext.odexsystemframeworkframework-res.apksystemframeworkframework-tests.jarsystemframeworkframework-tests.odexsystemframeworkframework.jarsystemframeworkframework.odexsystemframeworkinput.jar 输入库systemframeworkinput.odexsystemframeworkitr.jarsystemframeworkitr.odexsystemframeworkmonkey.jarsystemframeworkmonkey.odexsystemframeworkpm.jar 包管理库systemframeworkpm.odexsystemframeworkservices.jarsystemframeworkservices.odexsystemframeworkssltest.jarsystemframeworkssltest.odexsystemframeworksvc.jar 系统服务systemframeworksvc.odex 二、回头再来说说
Android 系统中的各分区(可能分区这个说法不太准确) 我了解到的
Android 系统中的分区有: ( , hboot 我们刷的 SPL 就是这玩意)这个分区是最基本的引导分区(类似电脑中的 BIOS),这个区坏了,差不多就变砖了,所以我们刷 SPL 时才要如此小心啊。
boot,这个分区应该是 linux 操作系统的引导分区。
radio,这个分区是手机的一些底层设备相关的驱动或功能程序吧,如打电话和发短信等,不同的系统版本会有不同的 radio 配套,我们平时刷了高版本的 ROM 后,如果不刷高版本的 Radio 就有可能导致打电话不正常之类的。
recovery,这个分区装的就是前面提到的 recovery 程序了,这个刷不同的 recovery版本可以带来不同的功能,有兴趣的同学可以基于 recovery 的
源码自己编译出一个自己的recovery 出来。
但一般来说,刷 recovery 最主要的就是提 Root 权限。
system,是一般发布的 ROM 的主要功能程序分区了,我们说的 ROM 功能和自带程序的定制应该就是基于这个分区的修改和编译了。
userdata,用户数据,不说了。
cache,缓存,一般是用来 OTA 升级时的缓存,我们说刷 SPL 可以增加程序区的空间大小就是主要将这个区的大小缩水了然后加大了程序区的分区大小。
三、一个典型 ROM 的剖析 我们平时升级的 Rom 都是打包成适合 Recovery 方式刷机的包。
能够被 Recovery 程序识别并处理的包应该有一个固定的格式,我理解的一些重要的约束如下: 1)必须是标准的 zip 压缩包; 2)recovery 脚本必须存入在 META-INFcomgoogleandroidupdate-script; 3)其它的一些证书和签名信息应该都放在META-INF下。
四、我们有没有可能自己定制 ROM 呢 理论上我们是可以自己定制的。
最简单的定制应该就是拿一个现有的认为还不错的基础 ROM,替换一些资源,加一些系统自带程序,然后打包发布; 再玩高级一点,就应该自己去修改一些系统自带的程序,如汉化一些系统原始程序; 还玩高级一点,就应该自己到
android 官方站点去下载
android 系统的
源码来编译,并基于系统级的定制和移植了,如现在火热的
android2.0
源码编译系统移植。
如果是简单一点的自制 ROM,主要应该会要解决如下几个问题: 1)选定一个比较好和稳定的内核和基础,就是 update.zip 包中的哪个 boot.img,另外,system 目录中大部分也是直接可用的,就可以作为自定义 Rom 的基础。
2)修改系统。
例如可以这样来定制的东西:systemetcapns-conf.xml,这是设置 APN接入点的;systemetchosts,这是设置 Host 文件的,现在有很多人用的包绑定不了 GMail,就可以在这个 Host 文件中增加一条:74.125.93.113
android.clients.google.com (当然,这个地址能用多久也不好说)...还有什么东西要自己去定制就自己去翻看瞧瞧。
3)Rom 的重新打包签名。
前文已经介绍了一个 Rom 包的基本结构,但完全按照这个结构打包还是不能被 Recovery 安装的,因为没有签名!Rom 签名可以下载一个自动签名工具Auto-sign,具体到哪下,请 Google。
(注:Rom 签名工具需要 Java1.6 支持,所以系统还得有 JRE1.6 的环境)。
再往下就有点高深了,目前只留心一下这些基础的东西,错误在所难免,欢迎指正,拍砖轻些。
原文作者: happylo