Android源码文件夹结构

Android 2.2

|-- Makefile

|-- bionic               (bionic C库)

|-- bootable            (启动引导相关代码)

|-- build                 (存放系统编译规则及generic等基础开发包配置)

|-- cts                    (Android兼容性測试套件标准)

|-- dalvik                (dalvik JAVA虚拟机)

|-- development      (应用程序开发相关)

|-- external             (android使用的一些开源的模组)

|-- frameworks       (核心框架——java及C++语言)

|-- hardware           (主要保护硬解适配层HAL代码)

|-- libcore

|-- ndk

|-- device

|-- out                   (编译完毕后的代码输出与此文件夹)

|-- packages           (应用程序包)

|-- prebuilt             (x86和arm架构下预编译的一些资源)

|-- sdk                   (sdk及模拟器)

|-- system              (文件系统库、应用及组件——C语言)

`-- vendor              (厂商定制代码)

bionic 文件夹

|-- libc                   (C库)

|   |-- arch-arm     (ARM架构,包括系统调用汇编实现)

|   |-- arch-x86     (x86架构,包括系统调用汇编实现)

|   |-- bionic         (由C实现的功能,架构无关)

|   |-- docs           (文档)

|   |-- include        (头文件)

|   |-- inet

|   |-- kernel         (Linux内核中的一些头文件)

|   |-- netbsd         (?netbsd系统相关,详细作用不明)

|   |-- private        (?一些私有的头文件)

|   |-- stdio           (stdio实现)

|   |-- stdlib          (stdlib实现)

|   |-- string          (string函数实现)

|   |-- tools           (几个工具)

|   |-- tzcode         (时区相关代码)

|   |-- unistd         (unistd实现)

|   `-- zoneinfo      (时区信息)

|-- libdl                  (libdl实现,dl是动态链接,提供訪问动态链接库的功能)

|-- libm                  (libm数学库的实现,)

|   |-- alpha           (apaha架构)

|   |-- amd64        (amd64架构)

|   |-- arm            (arm架构)

|   |-- bsdsrc        (?bsd的源代码)

|   |-- i386            (i386架构)

|   |-- i387            (i387架构?)

|   |-- ia64            (ia64架构)

|   |-- include        (头文件)

|   |-- man            (数学函数,后缀名为.3,一些为freeBSD的库文件)

|   |-- powerpc     (powerpc架构)

|   |-- sparc64       (sparc64架构)

|   `-- src             (源码)

|-- libstdc++           (libstdc++ C++实现库)

|   |-- include        (头文件)

|   `-- src             (源代码)

|-- libthread_db       (多线程程序的调试器库)

|   `-- include        (头文件)

`-- linker                (动态链接器)

`-- arch          (支持arm和x86两种架构)

bootable 文件夹

.

|-- bootloader                       (适合各种bootloader的通用代码)

|   `-- legacy                       (预计不能直接使用,能够參考)

|       |-- arch_armv6        (V6架构,几个简单的汇编文件)

|       |-- arch_msm7k             (高通7k处理器架构的几个基本驱动)

|       |-- include               (通用头文件和高通7k架构头文件)

|       |-- libboot               (启动库,都写得非常easy)

|       |-- libc                    (一些经常使用的c函数)

|       |-- nandwrite           (nandwirte函数实现)

|       `-- usbloader           (usbloader实现)

|-- diskinstaller                     (android镜像打包器,x86可生产iso)

`-- recovery                         (系统恢复相关)

|-- edify                        (升级脚本使用的edify脚本语言)

|-- etc                           (init.rc恢复脚本)

|-- minui                       (一个简单的UI)

|-- minzip                      (一个简单的压缩工具)

|-- mtdutils                    (mtd工具)

|-- res                           (资源)

|   `-- images               (一些图片)

|-- tools                        (工具)

|   `-- ota                    (OTA Over The Air Updates升级工具)

`-- updater                    (升级器)

build文件夹

.

|-- core                         (核心编译规则)

|-- history                            (历史记录)

|-- libs

|   `-- host                   (主机端库,有android “cp”功能替换)

|-- target                       (目标机编译对象)

|   |-- board                 (开发平台)

|   |   |-- emulator       (模拟器)

|   |   |-- generic         (通用)

|   |   |-- idea6410      (自己加入的)

|   |   `-- sim              (最简单)

|   `-- product              (开发平台相应的编译规则)

|       `-- security      (密钥相关)

`-- tools                        (编译中主机使用的工具及脚本)

|-- acp                   (Android "acp" Command)

|-- apicheck           (api检查工具)

|-- applypatch         (补丁工具)

|-- apriori               (预链接工具)

|-- atree                 (tree工具)

|-- bin2asm            (bin转换为asm工具)

|-- check_prereq     (检查编译时间戳工具)

|-- dexpreopt          (模拟器相关工具,详细功能不明)

|-- droiddoc           (?作用不明,java语言,网上有人说和JDK5有关)

|-- fs_config          (This program takes a list of files and directories)

|-- fs_get_stats              (获取文件系统状态)

|-- iself                  (推断是否ELF格式)

|-- isprelinked         (推断是否prelinked)

|-- kcm                  (按键相关)

|-- lsd                    (List symbol dependencies)

|-- releasetools        (生成镜像的工具及脚本)

|-- rgb2565            (rgb转换为565)

|-- signapk             (apk签名工具)

|-- soslim               (strip工具)

`-- zipalign             (zip archive alignment tool)

dalvik文件夹 dalvik虚拟机

.

|-- dalvikvm                  (main.c的文件夹)

|-- dexdump                  (dex反汇编)

|-- dexlist                      (List all methods in all concrete classes in a DEX file.)

|-- dexopt                            (预验证与优化)

|-- docs                        (文档)

|-- dvz                          (和zygote相关的一个命令)

|-- dx                           (dx工具,将多个java转换为dex)

|-- hit                           (?java语言写成)

|-- libcore                            (核心库)

|-- libcore-disabled         (?禁用的库)

|-- libdex                       (dex的库)

|-- libnativehelper           (Support functions for
Android
‘s class libraries)

|-- tests                        (測试代码)

|-- tools                        (工具)

`-- vm                          (虚拟机实现)

development 文件夹         (开发人员须要的一些例程及工具)

|-- apps                        (一些核心应用程序)

|   |-- BluetoothDebug (蓝牙调试程序)

|   |-- CustomLocale     (自己定义区域设置)

|   |-- Development      (开发)

|   |-- Fallback             (和语言相关的一个程序)

|   |-- FontLab             (字库)

|   |-- GestureBuilder    (手势动作)

|   |-- NinePatchLab     (?)

|   |-- OBJViewer         (OBJ查看器)

|   |-- SdkSetup           (SDK安装器)

|   |-- SpareParts          (高级设置)

|   |-- Term                 (远程登录)

|   `-- launchperf          (?)

|-- build                        (编译脚本模板)

|-- cmds                       (有个monkey工具)

|-- data                         (配置数据)

|-- docs                        (文档)

|-- host                         (主机端USB驱动等)

|-- ide                           (集成开发环境)

|-- ndk                          (本地开发套件——c语言开发套件)

|-- pdk                          (Plug Development Kit)

|-- samples                    (演示程序)

|   |-- AliasActivity       ()

|   |-- ApiDemos          (API演示程序)

|   |-- BluetoothChat     (蓝牙聊天)

|   |-- BrowserPlugin    (浏览器插件)

|   |-- BusinessCard      (商业卡)

|   |-- Compass            (指南针)

|   |-- ContactManager (联系人管理器)

|   |-- CubeLiveWall**     (动态壁纸的一个简单例程)

|   |-- FixedGridLayout (像是布局)

|   |-- GlobalTime         (全球时间)

|   |-- HelloActivity       (Hello)

|   |-- Home                 (Home)

|   |-- JetBoy               (jetBoy游戏)

|   |-- LunarLander       (貌似又是一个游戏)

|   |-- MailSync            (邮件同步)

|   |-- MultiResolution   (多分辨率)

|   |-- MySampleRss     (RSS)

|   |-- NotePad             (记事本)

|   |-- RSSReader         (RSS阅读器)

|   |-- SearchableDictionary (文件夹搜索)

|   |-- **JNI          (JNI例程)

|   |-- SkeletonApp       (空壳APP)

|   |-- Snake                (snake程序)

|   |-- SoftKeyboard     (软键盘)

|   |-- Wiktionary          (?维基)

|   `-- Wiktionary**(?维基例程)

|-- scripts                            (脚本)

|-- sdk                          (sdk配置)

|-- simulator                  (?模拟器)

|-- testrunner                 (?測试用)

`-- tools                        (一些工具)

external 文件夹

.

|-- aes    (AES加密)

|-- apache-http   (网页server)

|-- astl    (ASTL (Android STL) is a slimmed-down version of the regular C++ STL.)

|-- bison    (自己主动生成语法分析器,将无关文法转换成C、C++)

|-- blktrace   (blktrace is a block layer IO tracing mechanism)

|-- bluetooth   (蓝牙相关、协议栈)

|-- bsdiff    (diff工具)

|-- bzip2    (压缩工具)

|-- clearsilver   (html模板系统)

|-- dbus    (低延时、低开销、高可用性的IPC机制)

|-- dhcpcd   (DHCP服务)

|-- dosfstools   (DOS文件系统工具)

|-- dropbear   (SSH2的server)

|-- e2fsprogs   (EXT2文件系统工具)

|-- elfcopy   (复制ELF的工具)

|-- elfutils    (ELF工具)

|-- embunit   (Embedded Unit Project)

|-- emma    (java代码覆盖率统计工具)

|-- esd    (Enlightened Sound Daemon,将多种音频流混合在一个设备上播放)

|-- expat    (Expat is a stream-oriented XML parser.)

|-- fdlibm    (FDLIBM (Freely Distributable LIBM))

|-- freetype   (字体)

|-- fsck_msdos   (dos文件系统检查工具)

|-- gdata    (google的无线数据相关)

|-- genext2fs   (genext2fs generates an ext2 filesystem as a normal (non-root) user)

|-- giflib    (gif库)

|-- googleclient (google用户库)

|-- grub    (This is GNU GRUB, the GRand Unified Bootloader.)

|-- gtest    (Google C++ Testing Framework)

|-- icu4c    (ICU(International Component for Unicode)在C/C++下的版本号)

|-- ipsec-tools   (This package provides a way to use the native IPsec functionality )

|-- iptables   (防火墙)

|-- jdiff    (generate a report describing the difference between two public Java APIs.)

|-- jhead    (jpeg头部信息工具)

|-- jpeg    (jpeg库)

|-- junit    (JUnit是一个Java语言的单元測试框架)

|-- kernel-headers (内核的一些头文件)

|-- libffi    (libffi is a foreign function inte**ce library.)

|-- libpcap   (网络数据包捕获函数)

|-- libpng    (png库)

|-- libxml2   (xml解析库)

|-- mtpd    (一个命令)

|-- netcat    (** Unix utility which reads and writes dataacross network connections)

|-- netperf    (网络性能測量工具)

|-- neven    (看代码和JNI相关)

|-- opencore   (多媒体框架)

|-- openssl   (SSL加密相关)

|-- openvpn   (VPN开源库)

|-- oprofile   (OProfile是Linux内核支持的一种性能分析机制。)

|-- ping    (ping命令)

|-- ppp    (pppd拨号命令,好像还没有chat)

|-- proguard   (Java class file shrinker, optimizer, obfuscator, and preverifier)

|-- protobuf   (a flexible, efficient, automated mechanism for serializing structured data)

|-- qemu    (arm模拟器)

|-- safe-iop   (functions for performing safe integer operations )

|-- skia    (skia图形引擎)

|-- sonivox   (sole MIDI solution for Google
Android
Mobile Phone Platform)

|-- speex    (Speex编/解码API的使用(libspeex))

|-- sqlite    (数据库)

|-- srec    (Nuance 公司提供的开源连续非特定人语音识别)

|-- strace    (trace工具)

|-- svox    (Embedded Text-to-Speech)

|-- tagsoup   (TagSoup是一个Java开发符合SAX的HTML解析器)

|-- tcpdump   (抓TCP包的软件)

|-- tesseract   (Tesseract Open Source OCR Engine.)

|-- tinyxml   (TinyXml is a **, small, C++ XML parser)

|-- tremor    (I stream and file decoder provides an embeddable,integer-only library)

|-- webkit    (浏览器核心)

|-- wpa_supplicant (无线网卡管理)

|-- xmlwriter   (XML 编辑工具)

|-- yaffs2    (yaffs文件系统)

`-- zlib    (a general purpose data compression library)

frameworks 文件夹 (核心框架——java及C++语言)

.

|-- base    (基本内容)

|   |-- api   (都是xml文件,定义了java的api)

|   |-- awt   (AWT库)

|   |-- build   (空的)

|   |-- camera   (摄像头服务程序库)

|   |-- cmds   (重要命令:am、app_proce等)

|   |-- core   (核心库)

|   |-- data   (字体和声音等数据文件)

|   |-- docs   (文档)

|   |-- graphics (图形相关)

|   |-- include   (头文件)

|   |-- keystore (和数据签名证书相关)

|   |-- libs   (库)

|   |-- location (地区库)

|   |-- media   (媒体相关库)

|   |-- obex   (蓝牙传输库)

|   |-- opengl   (2D-3D加速库)

|   |-- packages (设置、TTS、VPN程序)

|   |-- sax   (XML解析器)

|   |-- services (各种服务程序)

|   |-- telephony (电话通讯管理)

|   |-- test-runner (測试工具相关)

|   |-- tests   (各种測试)

|   |-- tools   (一些叫不上名的工具)

|   |-- vpn   (VPN)

|   `-- wifi   (无线网络)

|-- opt    (可选部分)

|   |-- com.google.android     (有个framework.jar)

|   |-- com.google.android.googlelogin   (有个client.jar)

|   `-- emoji   (standard message elements)

`-- policies   (Product policies are operating system directions aimed at specific uses)

`-- base

|-- mid (MID设备)

`-- phone (手机类设备,一般用这个)

hardware 文件夹   (部分厂家开源的硬解适配层HAL代码)

|-- broadcom    (博通公司)

|   `-- wlan    (无线网卡)

|-- libhardware    (硬件库)

|   |-- include    (头文件)

|   `-- modules   (Default (and possibly architecture dependents) HAL modules)

|       |-- gralloc   (gralloc显示相关)

|       `-- overlay   (Skeleton for the "overlay" HAL module.)

|-- libhardware_legacy (旧的硬件库)

|   |-- flashlight   (背光)

|   |-- gps    (GPS)

|   |-- include    (头文件)

|   |-- mount    (旧的挂载器)

|   |-- power    (电源)

|   |-- qemu    (模拟器)

|   |-- qemu_tracing (模拟器跟踪)

|   |-- tests    (測试)

|   |-- uevent    (uevent)

|   |-- vibrator    (震动)

|   `-- wifi    (无线)

|-- msm7k    (高通7k处理器开源抽象层)

|   |-- boot    (启动)

|   |-- libaudio   (声音库)

|   |-- libaudio-qsd8k (qsd8k的声音相关库)

|   |-- libcamera   (摄像头库)

|   |-- libcopybit   (copybit库)

|   |-- libgralloc   (gralloc库)

|   |-- libgralloc-qsd8k (qsd8k的gralloc库)

|   |-- liblights   (背光库)

|   `-- librpc    (RPC库)

|-- ril     (无线电抽象层)

|   |-- include    (头文件)

|   |-- libril    (库)

|   |-- reference-cdma-sms (cdma短信參考)

|   |-- reference-ril    (ril參考)

|   `-- rild     (ril后台服务程序)

`-- ti       (ti公司开源HAL)

|-- omap3     (omap3处理器)

|   |-- dspbridge   (DSP桥)

|   |-- libopencorehw (opencore硬件库)

|   |-- liboverlay   (overlay硬件库)

|   |-- libstagefrighthw (stagefright硬件库)

|   `-- omx    (omx组件)

`-- wlan     (无线网卡)

prebuilt 文件夹    (x86和arm架构下预编译的一些资源)

.

|-- android-arm   (arm-android相关)

|   |-- gdbserver   (gdb调试器)

|   `-- kernel    (模拟的arm内核)

|-- android-x86   (x86-android相关)

|   `-- kernel    (空的)

|-- common    (通用编译好的代码,应该是java的)

|-- darwin-x86    (drawin x86平台)

|   `-- toolchain   (工具链)

|       |-- arm-eabi-4.2.1

|       |-- arm-eabi-4.3.1

|       `-- arm-eabi-4.4.0

|-- darwin-x86_64   (drawin x86 64bit平台)

|-- linux-x86    (linux x86平台)

|   `-- toolchain   (工具链,我们应该主要用这个)

|       |-- arm-eabi-4.2.1

|       |-- arm-eabi-4.3.1

|       |-- arm-eabi-4.4.0

|       `-- i686-unknown-linux-gnu-4.2.1 (x86版编译器)

|-- linux-x86_64   (linux x86 64bit平台)

|-- windows    (windows平台)

`-- windows-x86_64 (64bit windows平台)

system 文件夹   (底层文件系统库、应用及组件——C语言)

.

|-- Bluetooth   (蓝牙相关)

|-- core    (系统核心工具盒接口)

|   |-- adb   (adb调试工具)

|   |-- cpio   (cpio工具,创建img)

|   |-- debuggerd (调试工具)

|   |-- fastboot (高速启动相关)

|   |-- include   (系统接口头文件)

|   |-- init   (init程序源码)

|   |-- libacc   (轻量级C编译器)

|   |-- libctest   (libc測试相关)

|   |-- libcutils (libc工具)

|   |-- liblog   (log库)

|   |-- libmincrypt (加密库)

|   |-- libnetutils (网络工具库)

|   |-- libpixelflinger (图形处理库)

|   |-- libsysutils (系统工具库)

|   |-- libzipfile (zip库)

|   |-- logcat   (查看log工具)

|   |-- logwrapper (log封装工具)

|   |-- mkbootimg (制作启动boot.img的工具盒脚本)

|   |-- netcfg   (网络配置netcfg源代码)

|   |-- nexus   (google最新手机的代码)

|   |-- rootdir   (rootfs,包括一些etc下的脚本和配置)

|   |-- sh    (shell代码)

|   |-- toolbox   (toolbox,类似busybox的工具集)

|   `-- vold   (SD卡管理器)

|-- extras    (额外工具)

|   |-- latencytop (a tool for software developers ,identifying system latency happen)

|   |-- libpagemap (pagemap库)

|   |-- librank   (Java Library Ranking System库)

|   |-- procmem (pagemap相关)

|   |-- procrank (Java Library Ranking System相关)

|   |-- showmap (showmap工具)

|   |-- showslab (showslab工具)

|   |-- sound   (声音相关)

|   |-- su    (su命令源代码)

|   |-- tests   (一些測试工具)

|   `-- timeinfo (时区相关)

`-- wlan    (无线相关)

`-- ti    (ti网卡相关工具及库)

packages 文件夹

.

|-- apps     (应用程序库)

|   |-- AlarmClock   (闹钟)

|   |-- Bluetooth   (蓝牙)

|   |-- Browser   (浏览器)

|   |-- Calculator   (计算器)

|   |-- Calendar   (日历)

|   |-- Camera    (相机)

|   |-- CertInstaller   (在Android中安装数字签名,被调用)

|   |-- Contacts   (拨号(调用)、联系人、通话记录)

|   |-- DeskClock   (桌面时钟)

|   |-- Email    (Email)

|   |-- Gallery    (相冊,和Camera类似,多了列表)

|   |-- Gallery3D   (3D相冊)

|   |-- GlobalSearch (为google搜索服务,提供底层应用)

|   |-- GoogleSearch (google搜索)

|   |-- HTMLViewer (浏览器附属界面,被浏览器应用调用,同一时候提供存储记录功能)

|   |-- IM    (即时通讯,为手机提供信号发送、接收、通信的服务)

|   |-- Launcher   (登陆启动项,显示图片框架等等图形界面)

|   |-- Launcher2   (登陆启动项,负责应用的调用)

|   |-- Mms    (彩信业务)

|   |-- Music    (音乐播放器)

|   |-- PackageInstaller (安装、卸载程序的响应)

|   |-- Phone    (电话拨号程序)

|   |-- Provision   (预设应用的状态,使能应用)

|   |-- Settings   (开机设定,包含电量、蓝牙、设备信息、界面、wifi等)

|   |-- SoundRecorder (录音机,可计算存储所需空间和时间)

|   |-- Stk     (接收和发送短信)

|   |-- Sync    (空)   -------○1

|   |-- Updater   (空)

|   `-- VoiceDialer   (语音识别通话)

|-- inputmethods   (输入法)

|   |-- LatinIME   (拉丁文输入法)

|   |-- OpenWnn   (OpenWnn输入法)

|   `-- PinyinIME   (拼音输入法)

|-- providers    (提供器,提供应用程序、界面所需的数据)

|   |-- ApplicationsProvider   (应用程序提供器,提供应用程序启动项、更新等)

|   |-- CalendarProvider    (日历提供器)

|   |-- ContactsProvider    (联系人提供器)

|   |-- DownloadProvider   (下载管理提供器)

|   |-- DrmProvider    (创建和更新数据库时调用)

|   |-- GoogleContactsProvider (联系人提供器的子类,用以同步联系人)

|   |-- GoogleSubscribedFeedsProvider(设置信息提供器)

|   |-- ImProvider     (空)

|   |-- ManagementProvider   (空)

|   |-- MediaProvider    (媒体提供器,提供存储数据)

|   |-- TelephonyProvider   (彩信提供器)

|   |-- UserDictionaryProvider (用户字典提供器,提供用户经常使用字字典)

|   `-- WebSearchProvider   (空)

|-- services

|   |-- EasService     (空)

|   `-- LockAndWipe    (空)

`-- wall**s      (墙纸)

|-- Basic      (基本墙纸,系统内置墙纸)

|-- LivePicker     (选择动态壁纸)

|-- MagicSmoke    (壁纸特殊效果)

`-- MusicVisualization   (音乐可视化,图形随音乐而变化)

vendor 文件夹    (厂家定制内容)

|-- aosp     (android open source project)

|   `-- products   (一些板级规则)

|-- htc     (HTC公司)

|   |-- common-open (通用部分)

|   |   `-- akmd   (解压img用的工具)

|   |-- dream-open   (G1开放部分)

|   |-- prebuilt-open (预编译开放部分)

|   `-- sapphire-open (sapphire这款型号开放内容)

|-- pv-open    (没东西)

|-- qcom     (里面基本是空的)

`-- sample    (google提供的例子)

|-- apps    (应用)

|   |-- client   (用户)

|   `-- upgrade (升级)

|-- frameworks   (框架)

|   `-- PlatformLibrary (平台库)

|-- products   (产品)

|-- sdk_addon   (sdk加入部分)

`-- skins    (皮肤)

`-- WVGAMedDpi (WVGA适用的图片)

SDK和OUT文件夹没有列出

(4)ROM结构

对于HD2来说,其ROM(不论模拟还是直刷)主要由initrd、zImage、system组成。

这三个部分,对于熟悉Linux的人来说应该并不陌生。

initrd负责的就是启动,其本质就是一个暂时的系统,在引导时使用。(呵呵,话说开机最初那五花八门的开机第一二屏就在这里,比方第一个直刷ROM的那个灰底DFT……)

zImage即为Linux内核镜像,所谓的Android基于Linux内核,其实也就是基于它。

在直刷中,非常多大大通常把这两项单独打包成boot.img,也就是统成为引导镜像。(这两部分将在后面有机会时具体介绍)

至于常出现的system.img、system.bin、system.ext2,即为system。

相应的就是那些原生机的卡刷用的update.zip中的system文件夹,这里面的一切成就了Android的各种特性。

在这部分,先仅仅重点分析一下system文件夹结构(从别处剪了剪放过来,所以这里涵盖不全,并且不同系统因为有各自的定制,内容不同样)

(提前补充,用户安装程序会存在data文件夹,sd卡被挂载在sdcard文件夹):

system/app

–在这个目录下的程序为系统默认的组件,能够看到都是以APK格式结尾的文件,但有些自制的ROM里面还有和APK文件名称相应的odex文件。

\\system\\app\\AlarmClock.apk 闹钟

\\system\\app\\Browser.apk浏览器

\\system\\app\\Bugreport.apk Bug报告

\\system\\app\\Calculator.apk 计算器

\\system\\app\\Calendar.apk 日历

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

\\system\\app\\Camera.apk 照相机

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

\\system\\app\\Contacts.apk联系人

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

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

\\system\\app\\Email.apk 电子邮件client

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

\\system\\app\\GDataFeedsProvider.apkGoogleData提供

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

\\system\\app\\GmailProvider.apk Gmail提供

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

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

\\system\\app\\gtalkservice.apk GTalk服务

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

\\system\\app\\HtcTwitter.apk 集成TwitterclientPEEP

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

\\system\\app\\ImCredentialProvider.apk

\\system\\app\\ImProvider.apk

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

\\system\\app\\HtcNaviPanel.apk导航软件

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

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

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

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

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

\\system\\app\\NewsReader.apk 新闻阅读器

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

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

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

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

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

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

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

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

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

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

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

\\system\\app\\VpnServices.apk VPN服务

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

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

\\system\\app\\VoiceSearch.apk 语音搜索

\\system\\app\\YouTube.apk Youtube视频

\\system\\bin

这个文件夹下的文件都是系统的本地程序,里面主要是Linux系统自带的组件:

\\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 DHCPserver

\\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\\su**ceflinger 触摸感应驱动

\\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.confGPS设置文件

\\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\\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

字体目录

\\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

\\system\\framework

framework主要是系统平台框架

\\system\\framework\\am.jar

\\system\\framework\\am.odex

\\system\\framework\\android.awt.jar AWT库

\\system\\framework\\android.awt.odex

\\system\\framework\\android.policy.jar

\\system\\framework\\android.policy.odex

\\system\\framework\\android.test.runner.jar

\\system\\framework\\android.test.runner.odex

\\system\\framework\\com.google.android.gtalkservice.jar GTalk服务

\\system\\framework\\com.google.android.gtalkservice.odex

\\system\\framework\\com.google.android.maps.jar 电子地图库

\\system\\framework\\com.google.android.maps.odex

\\system\\framework\\core.jar 核心库,启动桌面时首先载入这个

\\system\\framework\\core.odex

\\system\\framework\\ext.jar

\\system\\framework\\ext.odex

\\system\\framework\\framework-res.apk

\\system\\framework\\framework-tests.jar

\\system\\framework\\framework-tests.odex

\\system\\framework\\framework.jar

\\system\\framework\\framework.odex

\\system\\framework\\input.jar 输入库

\\system\\framework\\input.odex

\\system\\framework\\itr.jar

\\system\\framework\\itr.odex

\\system\\framework\\monkey.jar

\\system\\framework\\monkey.odex

\\system\\framework\\pm.jar 包管理库

\\system\\framework\\pm.odex

\\system\\framework\\services.jar

\\system\\framework\\services.odex

\\system\\framework\\ssltest.jar

\\system\\framework\\ssltest.odex

\\system\\framework\\svc.jar 系统服务

\\system\\framework\\svc.odex

\\system\\lib

lib文件夹中存放的主要是系统底层库,如平台执行时库。

\\system\\lib\\libaes.so

\\system\\lib\\libagl.so

\\system\\lib\\libandroid_runtime.soAndroid执行时库

\\system\\lib\\libandroid_servers.so 系统服务组件

\\system\\lib\\libaudio.so 音频处理

\\system\\lib\\libaudioeq.so EQ均衡器

\\system\\lib\\libaudioflinger.so 音频过滤器

\\system\\lib\\libbluetooth.so蓝牙组件

\\system\\lib\\libc.so

\\system\\lib\\libcamera.so 超相机组件

\\system\\lib\\libcameraservice.so

\\system\\lib\\libcorecg.so

\\system\\lib\\libcrypto.so 加密组件

\\system\\lib\\libdrm1.so DRM解析库

\\system\\media

媒体目录,除了常规的铃声外另一些系统提示事件音以及开机动画(bootanimation.zip)等

\\system\\media\\audio

\\system\\media\\audio\\alarms 闹铃音

\\system\\media\\audio\\notifications 提示音

\\system\\media\\audio\\ringtones 铃声

\\system\\media\\audio\\ui 界面操作事件音

\\system\\sounds

默认的音乐測试文件,仅有一个test.mid文件,用于播放測试的文件。

\\system\\sounds\\test.mid

\\system\\usr

用户目录,包括共享、键盘布局、时间区域文件等。

\\system\\usr\\keychars

\\system\\usr\\keylayout

\\system\\usr\\share

\\system\\usr\\srec

时间: 2024-10-19 09:46:50

Android源码文件夹结构的相关文章

Go源码文件与命令

Go源码文件 文件类型 命令源码文件 : 声明自己属于main包且包含main函数的源码文件,一个包里边不要有多个命令源码文件,虽然用go install ,go run单独执行命令源码文件没有问题,但go install ,go run包含命令源码文件的文件夹时会出错. 库源码文件: 不具备命令源码文件两个特征的源码文件,也就是存在与某个包的普通源码文件.库源码文件安装后,相应的归档文件(*.a)被存放在当前工作区的pkg目录下. 测试源码文件:名称以_test.go为后缀的源码文件,且必须包

使用源码文件简单制作RPM包

实验环境: 实验的系统:Centos7.2_x86.64 源码包文件1:fastdfs-master 源码包文件2:libfastcommon-master 去github作者的站点克隆上面两个源码包文件 git clone https://github.com/happyfish100/fastdfs.git git clone https://github.com/happyfish100/libfastcommon.git 查看源码文件版本并修改文件名 -libfastcommon-mas

对threading模块源码文件的解读(不全)

# -*- coding: utf-8 -*- #python 27 #xiaodeng #对threading模块源码文件的解读(不全) import threading #类 #Thread() #构造方法 #threading.Thread() #__init__(self, group=None, target=None, name=None, args=(), kwargs=None, verbose=None) #group:保留为将来扩展时,可以类被实现 #target:要执行的方

如何将源码文件编译成字节码文件

[[email protected] ~]# cat 1.py # 要编译的源码文件 #!/usr/bin/python print 'Hello World' [[email protected] ~]# cat 2.py # 将 1.py 编译成字节代码 #!/usr/bin/python import py_compile py_compile.compile('1.py') [[email protected] ~]# python 2.py [[email protected] ~]#

[C/C++] 各种C/C++编译器对UTF-8源码文件的兼容性测试(VC、GCC、BCB)

在不同平台上开发C/C++程序时,为了避免源码文件乱码,得采用UTF-8编码来存储源码文件.但是很多编译器对UTF-8源码文件兼容性不佳,于是我做了一些测试,分析了最佳保存方案. 一.测试程序 为了测试编译器对UTF-8源码文件兼容性,我编写了这样的一个测试程序—— //#if _MSC_VER >= 1600 // VC2010 //#pragma execution_character_set("utf-8") //#endif #include <stdio.h>

C++ 多源码文件简单组织

C++ 多源码文件简单组织 基本上和C的是一样的,只不过C++的方法要在类中声明.看一个简单实例.ainimal.h  类里面对外公开的信息. 点击(此处)折叠或打开 #ifndef _ANIMAL_H__ #define _ANIMAL_H__ #include <iostream> using namespace std; class Animal{ private: string name; public: void print(void); Animal(string name){th

Android 根据源码文件生成.jks的系统签名

系统那边给了platform.pk8,shared.x509.pem等文件,现需要转换成.jks文件方便Android studio中编译使用. 记录下如何操作生成.jks 在Android源码目录:android/build/target/product/security/ 找到签名文件"platform.pk8"和"platform.x509.pem" 签名工具目录:android/prebuilts/sdk/tools/lib 找到签名工具:signapk.j

php扩展开发笔记(2)多个源码文件的配置和编译

我们在开发过程中,为了代码得可读性和易维护性,肯定是需要多个代码文件的,而不仅仅是通过 ext_skel 生成得骨架文件.这篇文章主要介绍下,多个代码文件的时候,我们需要注意什么,以及怎么做. 我的代码文件如下(slash为我的扩展名) // ext_skel 生成默认得模块相关的主要文件 php_slash.h // 头文件 slash.c // 源码文件 config.m4 // 编译的时候需要修改的文件 在这个默认生成的骨架文件里面,我们只要执行下面几步,就可以完成一个新的扩展了. 删除c

Android源码项目目录结构

src: 存放java代码 gen: 存放自动生成文件的. R.java 存放res文件夹下对应资源的id project.properties: 指定当前工程采用的开发工具包的版本 libs: 当前工程所依赖的jar包. assets: 放置一些程序所需要的媒体文件. bin: 工程的编译目录. 存放一些编译时产生的临时文件和当前工程的.apk文件. res(resources): 资源文件. drawable: 存放程序所用的图片. layout: 存放android的布局文件. menu: