整体目录介绍:
Android源码根目录 | 描述 |
art | Android Runtime,一种App运行模式,区别于传统的Dalvik虚拟机,旨在提高Android系统的流畅性 |
abi | abi 相关代码,abi:application binary interface,应用程序二进制接口 |
bionic | bionic C 库 |
bootable | 启动引导相关代码 |
build | 存放系统编译规则及 generic 等基础开发配置包 |
compatibility | 兼容性的一些资源 |
cts | Android 兼容性测试套件标准 |
dalvik | dalvik Java 虚拟机 |
developers | Android开发者参考文档 |
development | 应用程序开发相关 |
device | 设备相关代码 |
disregard | 清空 Android.mk 内容,以阻止 Android 构建系统更深入地扫描 Android.mk 的子目录。 |
docs | 介绍开源的相关代码 |
external | Android 使用的一些开源的模组 |
frameworks | 核心框架 - Java 及 C++语言,是 Android 应用程序的框架 |
gdk | 即时通信模块 |
hardware | 主要是硬件适配层 HAL 代码 |
kernel | Linux 的内核文件 |
libcore | 核心库相关 |
libnativehelper | 是 Support functions for Android‘s class libraries 的缩写,表示动态库,是实现 JNI 库的基础 |
ndk | ndk 相关代码。Android NDK(Android Native Development Kit)是一系列的开发工具,允许程序开发人员在 Android 应用程序中嵌入 C/C++ 语言编写的非托管代码。 |
out | 编译完成后的代码输出在此目录 |
packages | 应用程序包 |
pdk | Plug Development Kit 的缩写,是本地开发套件 |
platform_testing | Android平台测试程序 |
prebuilts | x86 和 ARM 架构下预编译的一些资源 |
sdk | SDK 及模拟器 |
shortcut-fe | 根据手机平台芯片改变,这里是高通xx加速 |
system | 文件系统和应用及组件,是用 C 语言实现的 |
test | Android Vendor测试框架 |
toolchain | Android工具链 |
tools | 工具文件夹 |
vendor | 厂商定制代码 |
Makefile | 全局的 Makefile |
详细目录介绍:
art 目录
|- benchmark // 程序测试基准。
|- build // 编译文件。
|- cmdline // 命令行工具的初始化与解析。
|- compiler // 编译套件。
|- dalvikvm // Dalvik虚拟机启动程序。
|- dex2oat // 文件dex格式转换为oat格式的转换程序。
|- dexdump // 文件dex格式的内容获取程序。
|- dexlayout // 文件dex格式的布局。
|- dexlist // 文件dex格式的函数获取程序。
|- dexoptanalyzer //文件dex格式的分析程序
|- disassembler // 几种反汇编实现,包括arm64、arm、mips和x86。
|- imgdiag // image诊断程序。
|- libart_fake // 一个虚假的art库,用于那些企图链接ark库的作弊程序。
|- oatdump // 文件oat格式的内容获取程序。
|- patchoat // 文件oat格式的补丁管理程序。
|- profman // 程序性能分析助手。
|- runtime // art库实现,主要为C++和汇编文件。
|- sigchainlib // 信号处理库。
|- test // 测试程序。
|- tools // 一些工具,包括python和shell脚本。
bionic 目录
|- libc (C库)
|- arch-arm (ARM架构,包含系统调用汇编实现)
|- arch-mips (mips架构,包含系统调用汇编实现)
|- arch-x86 (x86架构,包含系统调用汇编实现)
|- bionic (由C实现的功能,架构无关)
|- include (头文件)
|- kernel (Linux内核中的一些头文件)
|- netbsd (nesbsd系统相关,具体作用不明)
|- private (一些私有的头文件)
|- stdio (标准输入输出的实现)
|- stdlib (标准库函数的实现)
|- string (标准字符串函数的实现)
|- tools (几个工具)
|- tzcode (时区相关代码)
|- unistd (unistd实现)
|- upstream-dlmalloc (包含由Doug Lea实现的malloc / free例程)
|- upstream-freebsd (这个目录包含上游FreeBSD的来源)
|- upstream-netbsd (这个目录包含上游NetBSD的来源)
|- wchar (字符串函数,具体作用不明)
|- zoneinfo (时区信息)
|- libdl (提供访问动态链接库的功能)
|- libm (libm数学库的实现)
|- arm (arm架构)
|- i386 (i386架构)
|- i387 (i387架构)
|- include (头文件)
|- mips (mips架构)
|- upstream-freebsd (这个目录包含上游FreeBSD的来源)
|- libstdc++ (libstdc++ C++实现库)
|- include (头文件)
|- src (源码)
|- libthread_db (多线程调试器库)
|- include (头文件)
|- linker (动态链接器)
|- tests (一些测试用例)
|- benchmarks // 程序测试基准。
|- build // 编译文件。
bootable目录
|- recovery(系统恢复相关)
|- applypatch(二进制补丁文件)
|- edify(升级脚本使用的edify脚本语言)
|- etc(init.rc恢复脚本)
|- fonts(字体文件夹)
|- minadb(精简版的adbd守护进程)
|- minelf(updater的子项目使用的库)
|- minui(一个简单的UI)
|- minzip(一个简单的压缩工具)
|- mtdutils(读写flash的库)
|- res(在recovery模式中显示的一些图片)
|- simg2img (一个工具,将VMS Alpha executable文件转换成镜像文件)
|- testdata(里面的文件用于测试更新过程)
|- tools(工具)
|- ubi
|- updater(可执行文件运行更新脚本)
build目录
|- core (核心编译规则)
|- libs
|- host (主机端库,有android “cp”功能替换)
|- target (目标机编译对象)
|- board (开发平台)
|- emulator (模拟器)
|- generic (通用)
|- generic_armv5 (armv5)
|- generic_mips (mips)
|- generic_x86 (x86)
|- vbox_x86 (虚拟x86)
|- product (开发平台对应的编译规则)
|- security (密钥相关)
|- tools (编译中主机使用的工具及脚本)
|- acp (Android "acp" 命令)
|- apicheck (api检查工具)
|- atree (tree工具,类似于ls命令)
|- check_prereq (检查编译时间戳工具)
|- droiddoc (文档模板,用于生成使用Javadoc文档)
|- fs_config (主机工具的一部分)
|- fs_get_stats (获取文件系统状态)
|- imgpack
|- releasetools (生成镜像的工具及脚本)
|- rgb2565 (rgb转换为565)
|- signapk (apk签名工具)
|- zipalign (zip归档对齐工具)
dalvik目录
|- dexdump (dex反汇编)
|- dexgen (敏捷项目代码生成器,使用gradle工具编译dex文件的解析工具)
|- dexlist (在一个或多个敏捷文件中列出所有具体类中的所有方法)
|- dexopt (预验证与优化)
|- docs (文档)
|- dx (dx工具,将多个java转换为dex)
|- hit (读HPRO文件)
|- libdex (dex相关的库)
|- opcode-gen (已定义的操作码和Dalvik的指令格式)
|- tests (测试代码)
|- tools (工具)
|- unit-tests (测试单元)
|- vm (虚拟机实现)
developers
|- build //gradle编译系统。
|- demos //使用了gradle的例子。
|- samples //AndroidSDK中的例子。
development目录
|- apps(一些核心应用程序)
|- BluetoothDebug(蓝牙调试程序)
|- BuildWidget (定义一个简单小部件)
|- CustomLocale(自定义区域设置)
|- Development(开发系统应用)
|- DevelopmentSettings(开发系统应用设置)
|- Fallback(和语言相关的一个程序)
|- GestureBuilder(手势动作)
|- launchperf(装载前的预处理)
|- NinePatchLab // 点九图片相关
|- OBJViewer(OBJ查看器)
|- SdkSetup(SDK安装器)
|- SettingsInjectorSample // 高级设置
|- WidgetPreview(预览应用的小部件)
|- build(编译文件,包括打包用的atree文件)
|- cmds(有个monkey工具)
|- docs(文档)
|- host(主机端USB驱动等)
|- ide(集成开发环境)
|- libraries (立体相机库)
|- ndk(c/c++开发套件)
|- python-packages // python工具包,包括adb、fastboot和gdbrunner。
|- samples // 示例代码。
|- AccelerometerPlay // 展示加速计用法App
|- AdaptiveIconSample // 自适应图标App
|- Alarm // 紧急报警App
|- AliasActivity // 应用程序命别名App
|- AndroidBeamDemo // Android光束示例App
|- ApiDemosAPI // 演示程序
|- AppNavigation // 导航
|- BackupRestore // 备份
|- BasicGLSurfaceView // 基础GL界面展示
|- BluetoothChat // 蓝牙聊天
|- BluetoothHDP // 蓝牙传输
|- BluetoothLeGatt // 蓝牙4.0模块
|- BrokenKeyDerivation //
|- browseable // 浏览
|- BusinessCard // 车卡
|- Compass // 指南针
|- ContactManager // 联系人管理器
|- ControllerSample // 管理员示例
|- CrossCompatibility // 跨平台兼容
|- CubeLiveWallpaper // 动态壁纸的一个简单例程
|- DataWiper // 数据擦除
|- devbytes // 二进制读取
|- FixedGridLayout // 自动布局
|- HeavyWeight // 超重
|- HelloActivity // Hello
|- HelloEffects // Hello接收
|- Home // 家
|- HoneycombGallery // 动态图
|- JetBoy // jetBoy游戏
|- KeyChainDemo // 密码管理
|- LceDemo // 天线设备参数示例
|- LunarLander // LunarLander游戏
|- MultiResolution // 多任务处理应用
|- MultiWindow // 分屏应用
|- MySampleRss // RSS
|- NotePad // 记事本
|- Obb // 安卓游戏通用数据包示例
|- OpenGL // 图像库示例
|- RandomMusicPlayer // 音乐播放器
|- ReceiveShareDemo // 接收分享示例
|- RenderScript // 提升轮廓提取速度示例
|- RSSReader // RSS阅读器
|- samples_source.prop_template //
|- SampleSyncAdapter // 更新接口
|- SearchableDictionary // 目录搜索
|- ShortcutDemo // 小图标
|- ShortcutSample // 小图标示例
|- SimpleJNI // JNI例程
|- SipDemo // 支持会话发起协议(SIP)应用示例
|- SkeletonApp // 空壳APP
|- Snake // snake程序
|- SoftKeyboard // 软键盘
|- SpellChecker // 拼写检查
|- Spinner // Spinner控件
|- SpinnerTest // Spinner控件测试
|- StackWidget // 小部件堆叠示例
|- TicTacToeLib // 多库示例
|- TicTacToeMain // 主库示例
|- ToyVpn // vpn示例
|- training // 训练
|- TtsEngine // 文字语音转换(TTS)引擎
|- UiAutomator // ui自动测试
|- USB // usb使用
|- Vault // 缺陷控制
|- VoicemailProviderDemo // 读邮件应用示例
|- VoiceRecognitionService // 语音识别
|- WeatherListWidget // 天气小部件
|- WiFiDirectDemo // WIFI直连
|- WiFiDirectServiceDiscovery // WiFi直连服务发现
|- Wiktionary // 维基百科
|- WiktionarySimple // 维基百科示例
|- XmlAdapters // xml接口应用
|- scripts(脚本)
|- sdk(sdk配置)
|- sdk_overlay (覆盖资源文件用于不同的设备)
|- sys-img // 系统镜像信息。
|- testrunner(运行基于python的测试用例)
|- tools(一些工具)
|- tutorials (记事本教程和应用开发教程)
|- vndk // 供应商本地开发工具包
device 目录
|- asus//华硕
|- common//设备间共有的配置。
|- generic//不同的CPU架构,包括arm、goldfish、emulator、mips、x86等。
|- google//谷歌
|- huawei//华为
|- lge//LG
|- linaro//Linario
|- qcom//高通
|- sample//例子
external目录
|- aac // Advanced Audio Coding,高级音频编码。
|- abi-compliance-checker // ABI兼容性分析工具。
|- abi-dumper // ABI数据解析工具。
|- alsa-lib
|- alsa-utils
|- android-clat // Android中用NAT64/DNS64支持IPv4的程序运行于IPv6的网络。
|- androidplot // Android中用以创建动态的或静态的图表。
|- android-mock (简单模拟的包装器)
|- ant-glob // ANT模式匹配工具。
|- antlr (语言识别工具// Language Recognition,一款语法分析器,可根据输入自动生成语法树并显示出来。 )
|- apache-commons-math // Apache数学库。
|- apache-harmony (一个具有类库和相关工具的模块化的java运行时,// Apache Java SE运行时类库及一些工具。 )
|- apache-http (网页服务器)// Apache HTTP服务。
|- apache-xml // Apache XML解决方案。
|- archive-patcher // 补丁管理库
|- arm-neon-tests // arm基于NEON指令的数学库
|- autotest // 自动测试框架,Python实现,起初用于Linux Kernel,后扩展到Chrome OS和Android。
|- avahi // Zeroconf规范的一种实现,可以在本地网络中发布和获知各种服务和主机。
|- avb // Ethernet Audio/Video Bridging,以太网音视频桥接技术。
|- arduino
|- bison (生成语法分析器)
|- blktrace (阻塞IO跟踪) // 收集磁盘IO信息中当IO进行到块设备层即block设备时的详细信息
|- boringssl // BoringSSL为OpenSSL的一个分支,优化了一些加密算法。
|- bluetooth (蓝牙相关、协议栈)
|- bouncycastle (加密的Bouncycastle.org项目)
|- bsdiff (bsdiff和bspatch项目)
|- busybox
|- bzip2 (压缩工具)// 基于Burrows-Wheeler算法的无损压缩技术。
|- c-ares // DNS请求异步处理库。
|- caliper // 基准测量工具。
|- cblas // C interface to Legacy BLAS。
|- ceres-solver
|- checkpolicy
|- chromium (chromium 工程)
|- chromium_org
|- chromium_libpac // 基于proxy_resolver_v8。
|- chromium_trace // 以HTML的形式显示数据使用情况。
|- chromium-webview // Webview。
|- clang (Clang 工程)
|- cmockery // 用于C程序的单元测试。
|- clearsilver
|- compiler-rt // Compiler Routine。
|- conscrypt // A Java Security Provider。
|- crcalc // Constructive Real Calculator。
|- cros // 一些常量和定义,只有一些头文件和proto文件。
|- curl // 文件传输
|- dagger2 // A fast dependency injector for Android and Java。
|- dbus // 数据总线,是一个低延迟,低开销,高可用性的ipc机制
|- dbus-binding-generator // dbus bind。
|- deqp // GPU测试框架。
|- dexmaker // dex maker
|- dhcpcd // DHCP client daemon(dhcp客户端的示例)
|- dlmalloc // malloc/free routines implemented by Doug Lea。
|- dng_sdk // DNG文件读写库。
|- dnsmasq (一个轻量级的、易于配置DNS转发器和DHCP服务器的工具)
|- doclava (生成文档的工具)
|- doclava // Javadoc工具。
|- drm_gralloc // gralloc for drm,Direct Rendering Manager。
|- drm_hwcomposer // hwcompositor for drm。
|- droiddriver // Android UI testing library
|- dropbear (小型的ssh服务器和客户端)
|- dtc // Device Tree Compiler。
|- e2fsprogs (维护ext2、ext3和ext4文件系统的工具)// 文件系统工具集
|- easymock (一个提供了简单方法的在单元测试时使用mock对象的工具)// 单元测试模拟框架
|- eclipse-basebuilder // eclipe插件编译相关
|- eclipse-windowbuilder // eclipse编译相关
|- eigen // 用于线性代数的C++模板库
|- elfutils (ELF文件相关的库和工具)
|- embunit (一个针对嵌入式C系统的单元测试框架)
|- emma // 单元测试覆盖率统计
|- esd // 音频相关
|- ethtool
|- exfat-fuse
|- expat (一个用于解析XML的C库)
|- eyes-free // 语音交互
|- fdlibm (一个用于可以支持IEEE 754浮点运算的机器的c数学库)
|- f2fs-tools // Flash Friendly File System。
|- fec // Forward error correction。
|- fio / io测试工具。
|- flatbuffers //
|- fmtlib // format。
|- fonttools // 字体处理工具。
|- freetype // 字体引擎。
|- fsck_msdos // 文件系统检查工具
|- ffmpeg
|- flac (FLAC工程的源码)// Free Lossless Audio Codec
|- fsck_msdos (ms-dos文件系统的检查代码)
|- fw_env
|- ganymed-ssh2
|- gcc-demangle
|- genext2fs (在普通用户的权限之下生成ext2文件系统)
|- giflib (gif图片库)
|- google-diff-match-patch
|- grub (多操作系统引导程序)
|- gtest (在不同的平台上编写C++测试用例的框架)
|- guava (开源的实用工具集合)// Google Core Libraries for Java
|- glide // media管理框架
|- gemmlowp // low-precision for general matrix multiplication。
|- google-benchmark // 支持benchmark的库,类似于单元测试。
|- google-breakpad // crash报告系统,包括client、server。
|- google-fonts // 字体。
|- googletest // C++ test framework。
|- google-tv-pairing-protocol // tv配对协议。
|- gptfdisk // 文本模式的磁盘分区工具。
|- guice // 依赖注入框架。
|- hamcrest (一个布局引擎库)// 用于测试的可以合成各种表达式的匹配器类库
|- harfbuzz
|- harfbuzz_ng // 字体排版引擎
|- hyphenation (一个使用tex断字模式的断字库)
|- hyphenation-patterns // 各种语言的字体连接模式。
|- icu // Unicode组件
|- icu4c (使用c/c++和java库来对应用程序提供Unicode和全球化支持)
|- iproute2 (iproute2是在Linux中控制tcp/ip网络的工具集合)
|- ipsec-tools (IPsec-Tools工程)// 加密的ip协议工具包
|- iptables (iptables工程)// IP信息包过滤系统
|- iputils // 网络工具包
|- ImageMagick // bitmap图片管理,支持多种格式。
|- ims // IP Multi-media System,包括rcs融合通信。
|- iw // Netlink 802.11
|- jacoco // 测试覆盖率工具。
|- jarjar // Java包管理工具。
|- javasqlite // sqlite
|- javassist // Java字节码编辑。
|- jcommander // 参数解析。
|- jdiff // Java代码比较工具。
|- jemalloc // 更好的内存管理工具,解决内存碎片问题。
|- jetty // servlet容器。
|- jline // 处理控制台输入。
|- jmdns // 多播DNS实现,可在本地局域网中发现和注册服务。
|- jsilver // HTML模板系统。
|- jsmn // JSON解析。
|- jsoncpp // C++处理JSON,序列化和反序列化。
|- jsr305 // Java Specification Request。
|- jsr330 // Java Specification Request。
|- junit // Java单元测试框架。
|- junit-params // jnit升级版,添加了更好用的参数化测试。
|- jhead (jpeg头部信息工具)
|- jmonkeyengine
|- jpeg (jpeg图像的压缩和解压缩)
|- jsr305
|- kernel-headers // Kernel级别头文件。
|- ksoap2 // 访问Web Service。
|- libavc // 流媒体
|- libcap-ng
|- libffi (libffi项目)
|- libgsm (网络数据包捕获函数)
|- liblzf (liblzf项目,一个非常快速的压缩算法)
|- libmtp
|- libnfc-nci
|- libnfc-nxp (来自NXP半导体的nfc库)
|- libnl-headers (网络相关的库)
|- libogg
|- libpcap (libcap的源码)
|- libphonenumber (google处理电话号码的库)
|- libpng (png格式的库)
|- libppp
|- libselinux
|- libsepol
|- libusb
|- libusb-compat
|- libvorbis
|- libvpx
|- libxml2 (xml解析库)
|- libxslt (XLST工具包的源代码)
|- libyuv
|- linux-kselftest // linux test。
|- libzvbi
|- linux-tools-perf
|- littlemock // mock框架
|- lld // LLVM linker
|- llvm (一个低级的虚拟机)// Low Level Virtual Machine
|- ltp // Linux Test Project
|- lz4 // 快速的无损压缩算法
|- lzma // 压缩
|- marisa-trie
|- markdown (文本转成html工具)
|- mdsnresponder // Appple Bonjour组件,方便IP网络配置。
|- mksh (最小的mkshrc应用程序的实现)// MirBSD Korn Shell
|- mockwebserver (用于测试http和https客户端的库)
|- mtd-utils
|- mesa3d // 三维计算机图形库
|- messageformat // International Components for Unicode for Java。
|- Microsoft-GSL // Guideline Support Library。
|- minijail // 沙盒,运行不信任的程序。
|- mmc-utils // mmc卡管理。
|- mockftpserver // 模拟FTP服务以进行FTP客户端测试。
|- mockito // 测试框架。
|- modp_b64 // base64编码、解码。
|- mp4parser // mp4解析。
|- mtpd // Media Transfer Protocol
|- netcat (简单的unix读写数据工具)// 网络使用查看工具
|- netperf (简单的unix网络性能测量工具)// 网络性能测试
|- nist-skip (VOIP实现的代码)// nist实现的sip协议,ip电话
|- ntfs-3g
|- nanohttpd // HTTP Server,用于嵌入其它的程序。
|- nanopb-c // ANSI-C实现的Protocol Buffer。
|- naver-fonts // 字体。
|- neven // 人脸识别算法。
|- nfacct // 流量统计。
|- nist-pkits // NIST PKI Test Suite。
|- noto-fonts // 汉语、日语、韩语字体。
|- oauth (oauth身份验证项目的代码)// 关于授权的开放网络标准
|- opencv (opencv的一个优化端口)// 计算机视觉库
|- openfst
|- openssh (ssh相关)
|- openssl (SSL加密相关)
|- open-vcdiff
|- oprofile (OProfile是一个低开销的分析器)
|- objenesis // Java对象实例化库。
|- okhttp // HTTP&SPDY Client。
|- opencv3 // 计算机视觉库。
|- owasp // Web Application。
|- pixman
|- pppoe (pppoe协议的源码)
|- proguard (ProGuard的源码)
|- parameter-framework // system-wide parameter management。
|- pcre // Perl兼容的正则表达式库。
|- pdfium // PDF渲染引擎。
|- piex // Preview Image Extractor。
|- ppp // Point to Point Protocol,链路层协议。
|- proguard // Java class file shrinker, optimizer, obfuscator and preverifier.
|- qemu (arm模拟器)
|- qemu-pc-bios (生成bios.bin和vgabios-cirrus.bin的源码)
|- remoteconf
|- regex-re2 // 正则表达式库。
|- replicaisland // A side scrolling video game for Android。
|- rmi4utils // Remote Method Invoke。
|- robolectric // 黑盒测试。
|- roboto-fonts // roboto font。
|- rootdev // Chromium OS version of rootdev。
|- safe-iop (safe-iop工程的源码)// safe integer operation
|- sepolicy
|- sil-fonts
|- skia (一个完整的2D图形库)
|- smack
|- sonivox (嵌入式音频合成项目的源码和二进制文件)
|- speex (一个开源的音频压缩格式)
|- sqlite (数据库)
|- srec (嵌入式语音识别引擎)
|- srtp (提供安全的实时传输协议的实现)
|- stlport (完整的ANSI C++标准库)
|- strace (系统跟踪工具)// system call tracer
|- stressapptest
|- svox (文字-语音转换工具)
|- scrypt // 加密相关。
|- seccomp-tests // Seccomp-BPF Kernel Self-Test Suite。
|- selinux // Secure Linux。
|- sfntly // 字体库。
|- shflags // shell script。
|- sl4a // Scripting Layer for Android。
|- slf4j // Simple Logging Facade for Java。
|- smali // Dalvik虚拟机的dex格式的汇编与反汇编。
|- snakeyaml // 用于Java虚拟机的YAML文件解析器。
|- sonic // 语音开发库。
|- sonivox // 语音开发库。
|- spirv-llvm // Khronos LLVM-SPIRV图形渲染语言格式转换
|- squashfs-tools // 只读的高压缩的文件系统。
|- swiftshader
|- syslinux
|- tagsoup (一个Java开发符合SAX的HTML解析器)
|- tcpdump (抓TCP包的软件)// 网络监听
|- tinyalsa (提供基本pcm和混合器API)// ALSA处理
|- tinyxml (用来解析某个特定的xml文件)
|- tinyxml2 // XML解析
|- tremolo (针对arm进行了优化的tremolo)
|- testng // 实机测试及数据收集。
|- timezonepicker-support // Time Zone。
|- tinycompress // 用于ALSA格式的读取,如mp3。
|- tinyxml // XML解析工具,C++实现。
|- tlsdate // 时间更新服务,TCP实现。
|- toybox // 命令行工具包。
|- tpm2 // Trusted Platform Module。
|- tremolo // ogg音频解压。
|- unicode // Unicode。
|- universal-tween-engine // Java对象插值
|- v8 (java脚本引擎)// JavaScript引擎,C++实现
|- valgrind (提供大量的调试和分析工具)// 内存、性能分析工具
|- verity
|- vboot_reference // Chrome OS verified boot in firmware。
|- vixl // ARMv8 Runtime Code Generation Library。
|- vogar // vogar.
|- volley/
|- vulkan-validation-layers // Vulkan组件,包括ICD Loader和Validation Layer。
|- webo (浏览器核心)
|- wpa_supplicant_6 (无线网卡管理)
|- webp // 处理WebP格式的图片。
|- webrtc // 支持浏览器、移动App的Real-time Communication。
|- wpa_supplicant_8 // WIFI Protected Access。
|- wycheproof
|- xmlwriter (XML 编辑工具)
|- x264
|- xmlrpcpp // XmlRpc协议的C++实现。
|- xmp_toolkit // xmp
|- yaffs2 (快速可靠的文件系统,针对nand flash和nor flash)
|- zlib (一个通用的数据压缩库)// 使用了DEFLATE算法的数据压缩库
|- zxing (一个大规模的精致低调的压缩库)// Java库,用于识别1D/2D条形码
|- zopfli // C库,一种压缩算法。
frameworks
|- base (基本内容)
|- api (api android application interface)
|- 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 (手机类设备,一般用这个)
|- av // 多媒体框架
|- camera // 多媒体的相机相关部分
|- cmds // 命令源码
|- drm // 数据保护
|- include // 头文件
|- media // 多媒体部分
|- radio // 无线射频部分
|- services // 服务部分
|- soundtrigger // 语音识别架构
|- tools // 工具包
|- base // base,包括以下几个目录。
|- apct-tests // 性能优化测试
|- api // java的api接口,修改了接口文件请及时更新此目录下的文件(make update-api)
|- cmds // 重要命令:am、app_proce等的源码
|- core // framework层核心库
|- java // java库
|- jni // jni层
|- proto // 协议层
|- res // 资源文件
|- tests // 测试工具
|- data // 字体和声音等数据文件
|- docs // 文档
|- drm // 数据保护
|- graphics // 图形相关
|- keystore // 和数据签名证书相关
|- legacy-test // 安全相关测试
|- libs // lib库
|- androidfw // fw功能库
|- common_time // 常用功能和工具集合,缓存,包括图片缓存、预取缓存、网络缓存;公共 View,即功能封装好的部件,包括下拉获得最新和上拉加载更多 ListView、底部加载更多 ScrollView、滑动一页 Gallery 等等。;常用工具类,包括网络、下载、资源操作、Shell、文件读写、Json、序列化/反序列化、随机数、集合(Array、List、Map)、APK 包等等。
|- hwui // 硬件渲染库
|- incident // 事件驱动机制库
|- input // 输入库
|- services // 服务库
|- storage // 存储库
|- usb // USB库
|- location // 定位功能
|- media // 媒体相关库
|- native // native框架
|- nfc-extras // nfc额外框架
|- obex // 蓝牙传输库
|- opengl // 2D-3D加速库
|- packages // 设置、TTS、VPN程序
|- proto // 协议框架
|- rs // 资源框架
|- samples // 例子程序
|- sax // XML解析器
|- services // 各种服务程序
|- telecomm // Telecom通信框架
|- telephony // 电话通讯框架
|- test-runner // 测试工具相关
|- tests // 各种测试
|- tools // 工具
|- vr // 虚拟现实相关
|- wifi // 无线
|- compile // 编译相关
|- libbcc // 用于Linux性能监视的动态跟踪工具的库
|- bcinfo // 获取硬件设备信息库
|- gdb_plugin // gdb插件
|- include // 头文件
|- lib // 库文件
|- tests // 测试程序
|- tools // 测试工具
|- mclinker // MCLinker链接器
|- include // 头文件
|- lib // 库文件
|- templates // 模板
|- tools // 工具
|- unittests // 单元测试工具
|- slang // 异常框架
|- data-binding // 数据绑定。
|- ex // ex文件解析器
|- camera2 // 相机相关
|- common // 共有的
|- framesequence // GIF图片工具包
|- photoviewer // 图片预览
|- widget // 小部件
|- hardware // 硬件适配接口
|- interfaces // 接口文件
|- current.txt // 接口记录文件
|- displayservice // 显示服务
|- schedulerservice // JobScheduler主要用于在未来某个时间下满足一定条件时触发执行某项任务的情况
|- sensorservice // 传感器服务
|- update-makefiles.sh // 更新makefile文件脚本
|- vr // 虚拟现实硬件接口
|- minikin // Android原生字体,连体字效果
|- ml // 机器学习
|- bordeaux //
|- learning // 学习算法
|- service // 服务
|- multidex // Multi-dex Loader。
|- native // native实现
|- aidl // aidl层,Android 接口定义语言
|- build // 编译配置
|- cmds // 命令行
|- data // 数据文件
|- docs // 文档
|- include // 头文件
|- libs // 库
|- arect // 图形库
|- binder // binder通信库
|- diskusage // 硬盘读取库
|- gui // ui显示库
|- hwc2on1adapter //
|- input // 输入库
|- math // 数学库
|- nativewindow // native窗口库
|- sensor // 传感器库
|- ui // ui库
|- vr // 虚拟现实库
|- opengl // 2D-3D接口框架
|- services // 服务
|- audiomanager // 音频服务
|- batteryservice // 电源服务
|- displayservice // 显示服务
|- inputflinger // 输入框架服务
|- nativeperms // 属性服务
|- powermanager // 电池管理
|- schedulerservice //事件消息服务
|- sensorservice // 传感器服务
|- surfaceflinger // 显示服务
|- vr // 虚拟现实服务
|- vulcan // 隐式框架
|- opt // 一些软件。
|- bitmap // 二进制图
|- bluetooth // 蓝牙
|- calendar // 日历
|- chips // 芯片工具
|- colorpicker // 色彩拾取工具
|- datetimepicker // 时间选择工具
|- emoji // standard message elements 表情
|- inputconnectioncommon // 输入连接工具
|- inputmethodcommon // 输入方法工具
|- net // 网络相关工具
|- ethernet // 有线网络
|- ims // ims
|- voip // 数据网络
|- wifi // 无线网络
|- photoviewer // 照片预览工具
|- setupwizard // 开机向导工具
|- telephony // 通信工具
|- timezonepicker // 时区工具
|- vcard // 芯片卡片工具
|- rs // Render Script,可创建3D接口。
|- support // framework支持文件
|- webview // webview framework层的接口
|- wilhelm // Wilhelm,基于Khronos的OpenSL ES/OpenMAX AL的audio/multimedia实现。
hardware
|- 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 (无线网卡)
|- akm // AK8975传感器,包括SensorControl和HAL层的libsensors。
|- broadcom // Boradcom,包括libbt和wlan。
|- google // Google,包括Android Packet Filter。
|- intel // Intel,包括audio、media、bootstub、img、sensor等。
|- interfaces // HAL接口
|- audio // 音频
|- automotive // 车载
|- benchmarks // 标准库
|- bluetooth // 蓝牙
|- boot // 内核
|- broadcastradio // 无线广播
|- camera // 相机
|- libhardware // 硬件库
|- include // 头文件
|- modules //模块
|- audio // 音频
|- audio_remote_submix // 音频
|- camera // 相机
|- consumerir // 红外的脉冲序列
|- fingerprint // 指纹
|- gralloc // Gralloc模块,封装了对帧缓冲区的所有访问操作
|- hwcomposer // 视频渲染
|- input // 输入
|- local_time // 本地时钟
|- nfc // 短程通信
|- nfc-nci // 短程通信
|- power // 电源
|- radio // 射频
|- sensors // 传感器
|- soundtrigger // 音频触发
|- thermal // 终端
|- tv_input // 电视输入
|- usbaudio // usb音频
|- usbcamera // usb相机
|- vehicle // 车载
|- vibrator // 震动
|- vr // 虚拟
|- libhardware_legacy // hardware legacy
|- audio // 音频
|- include // 头文件
|- power.c // 电源
|- uevent.c // 事件
libcore
|- crypto
|- dex
|- dom(DOM的测试类)
|- expectations(测试的一些情况信息)
|- harmony-tests
|- include(头文件)
|- json(给予json的java实现)
|- libdvm
|- luni(加载.jar和.dex文件的测试源码)
|- support(测试虚拟机的测试类)
|- xml(xml的pull和push解析的实现)
|- benchmarks//标准库
|- dalvik//dalvik虚拟机
|- include//头文件
|- jsr166-tests//JSR是指向JCP提出新增标准化技术规范的正式请求,以向Java平台增添新的API和服务。JSR-166主要是关于J.U.C的技术规范(jdk5)
|- libart//art虚拟机库
|- ojluni//openjdkAPI
|- test-rules//测试规则
|- tools//工具
|- tzdata//时区解析
libnativehelper
|- include // 头文件
|- platform_include // 平台头文件
|- tests // 测试程序。
ndk
|- build
|- awk (辅助从应用的androidmanifest.xml中提取信息的一些脚本)
|- core (创建NDK的一些makefile)
|- gmsl (GNU的make标准库)
|- tools (仅用于开发NDK的一些脚本)
|- docs (NDK相关的文档)
|- sources (NDK的源码和库)
|- android (cpufeatures和libthread_db的源码)
|- cpufeatures
|- cxx-stl
|- host-tools (linux主机的一些工具)
|- third_party
|- tests (测试相关)
|- toolchains (基于arm和x86架构的工具链)
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 (SIM卡开发工具)
|- Sync
|- Updater
|- VoiceDialer (语音通话)
|- inputmethods (输入法)
|- LatinIME (拉丁文输入法)
|- OpenWnn (OpenWnn输入法)
|- PinyinIME (拼音输入法)
|- providers (提供器,提供应用程序、界面所需的数据)
|- ApplicationsProvider (应用程序提供器,提供应用程序启动项、更新等)
|- CalendarProvider (日历提供器)
|- ContactsProvider (联系人提供器)
|- DownloadProvider (下载管理提供器)
|- DrmProvider (创建和更新数据库时调用)
|- GoogleContactsProvider (联系人提供器的子类,用以同步联系人)
|- GoogleSubscribedFeedsProvider(设置信息提供器)
|- ImProvider
|- ManagementProvider
|- MediaProvider (媒体提供器,提供存储数据)
|- TelephonyProvider (彩信提供器)
|- UserDictionaryProvider (用户字典提供器,提供用户常用字字典)
|- WebSearchProvider
|- services
|- EasService
|- LockAndWipe
|- wallpapers (墙纸)
|- Basic (基本墙纸,系统内置墙纸)
|- LivePicker (选择动态壁纸)
|- MagicSmoke (壁纸特殊效果)
|- MusicVisualization (音乐可视化,图形随音乐而变化)
|- apps // 各种app。
|- BasicSmsReceiver // 基础短信接收
|- Bluetooth // 蓝牙
|- Browser2 // 浏览器
|- Calendar // 日历
|- Camera2 // 相机
|- Car // 车载
|- CarrierConfig // 运营商配置
|- CellBroadcastReceiver // 小区广播服务
|- CertInstaller // 在Android中安装数字签名,被调用
|- Contacts // 联系人
|- DeskClock // 桌面时钟
|- DevCamera // 相机
|- Dialer // 拨号盘
|- DocumentsUI // 下载
|- Email // 邮件
|- EmergencyInfo // 工程信息
|- ExactCalculator // 计算器
|- Gallery // 图库
|- Gallery2 // 图库
|- HTMLViewer // HTML阅读器
|- KeyChain // 秘钥链
|- Launcher2 // 桌面启动器
|- Launcher3 // 桌面启动器
|- LegacyCamera // 安全相机
|- ManagedProvisioning //
|- Messaging // 短信
|- Music // 音乐
|- MusicFX // MusicFX是一款系统专用的音频控制面板
|- Nfc // 短程通信
|- OneTimeInitializer // 谷歌服务框架
|- PackageInstaller // 安装
|- Phone // 电话
|- PhoneCommon // 电话
|- Protips // 主屏幕提示
|- Provision // 预设应用的状态,使能应用
|- QuickSearchBox // 搜索框
|- RetailDemo //
|- SafetyRegulatoryInfo // 安全监管
|- Settings // 设置
|- SoundRecorder // 录音
|- SpareParts // 高级设置
|- SpeechRecorder // 录音机
|- Stk // SIM卡智能工具包
|- StorageManager // 存储管理
|- Tag // 标签
|- Terminal // 终端
|- Test // 测试
|- TV // 电视
|- TvSettings // 电视设置
|- UnifiedEmail // 未定义邮件
|- WallpaperPicker // 壁纸
|- experiment // 非release/public的测试程序。
|- BugReportSender // bug上传测试
|- Bummer // 懒汉测试
|- CameraPreviewTest // 相机预览测试
|- DreamTheater //
|- ExampleImsFramework // ims框架测试
|- FilledApp // apk上限测试
|- FillService // 服务上限测试
|- InstantCookieApp // 小程序
|- LoaderApp // 加载apk
|- MultiPackageApk // 安卓多渠道打包工具
|- NotificationListenerSample // 消息监听测试
|- NotificationLog // 消息log测试
|- NotificationShowcase // 消息展示测试
|- PermissionApp // 权限测试
|- PrintApp // 打印测试
|- PrintService // 打印服务测试
|- procstatlog //
|- RpcPerformance // 远程过程调用测试
|- StrictModeTest // StrictMode最常用来捕捉应用程序的主线程,它将报告与线程及虚拟机相关的策略违例
|- TestBack // 回测
|- inputmethods // 输入法,包括LatinIME和OpenWnn。
|- LatinIME // 拉丁文输入法
|- OpenWnn // OpenWnn输入法
|- providers // 各种provider。
|- ApplicationsProvider // 应用程序提供器,提供应用程序启动项、更新等
|- BlockedNumberProvider // 黑名单电话提供器
|- BookmarkProvider // 书签提供器
|- CalendarProvider // 日历提供器
|- CallLogProvider // 通话记录提供器
|- ContactsProvider // 联系人提供器
|- DownloadProvider // 下载管理提供器
|- MediaProvider // 媒体提供器,提供存储数据
|- PartnerBookmarksProvider // 浏览器书签提供器
|- TelephonyProvider // 彩信提供器
|- TvProvider // 电视提供器
|- UserDictionaryProvider // 用户字典提供器,提供用户常用字字典
|- screensavers // 屏保
|- Basic // 默认屏保应用
|- PhotoTable // 照片屏保应用
|- WebView // 网络屏保应用
|- services // 各种service。
|- BuiltInPrintService // 预览打印服务
|- Car // 车载服务
|- Mms // 短信服务
|- NetworkRecommendation // 网络建议
|- Telecomm // Telecom通信服务
|- Telephony // Telephony通话服务
pdk
|- apps // 平台测试应用
|- HelloPDK // 平台测试示例
|- TestingCamera // 相机测试
|- TestingCamera2 // 相机测试
|- build // 编译配置
|- util // 工具包
platform_testing
|- build // 平台测试
|- libraries // lib库
|- scripts // 脚本
|- tests // 测试
|- utils // 工具包
prebuilts
|- abi-dumps // applicationbinary interface,应用程序二进制接口的内存镜像调试工具
|- android-emulator // Android模拟器,由external/qemu/android/scripts/package-release.sh生成。
|- build-tools // Ninja编译系统的辅助工具。
|- checkcolor // 色彩规范检查
|- checkstyle // Java编码规范检查。
|- clang // c/c++/object-c代码编译器。
|- deqp // Draw Elements Quality Program,适用于OpenGL ES/OpenCL的GPU应用分析。
|- devtools // 开发工具,如常见的adt、android、ddms、lint等。
|- eclipse // eclipse。
|- gcc // gcc。
|- gdb // gdb。
|- go // go。
|- gradle-plugin // gradle插件。
|- libs // libedit,这是NetBSD Editline库(libedit)的自动工具和libtoolized端口。 这个Berkeley风格的授权命令行编辑器库提供了通用的行编辑,历史记录和标记化功能,与GNU Readline中的类似。
|- maven_repo // maven。
|- misc // 宏指令系统。
|- ndk // ndk。
|- python // python。
|- qemu-kernel // qemu 内核,QEMU是一套由法布里斯·贝拉(Fabrice Bellard)所编写的以GPL许可证分发源码的模拟处理器,在GNU/Linux平台上使用广泛。Bochs,PearPC等与其类似,但不具备其许多特性,比如高速度及跨平台的特性,通过KQEMU这个闭源的加速器,QEMU能模拟至接近真实电脑的速度。
|- sdk // 开发包。
|- tools // 工具
|- 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平台)
sdk
|- annotations // 注释源码
|- apkbuilder // apk打包工具源码
|- apps // sdk自带的应用
|- DeviceConfig // 设备配置
|- NotificationStudio // 消息提示
|- SdkController // sdk管控
|- attribute_stats // 属性状态
|- avdlauncher // 模拟器启动
|- bash_completion // bash工具
|- build // sdk编译配置
|- docs // 文档
|- dumpeventlog // 事件记录log
|- eclipse // eclipse开发sdk配置
|- emulator // 模拟器源码
|- eventanalyzer // 事件分析
|- files // 文件
|- find_java // java文件查找
|- find_java2 // class文件查找
|- find_lock // 锁查找
|- hierarchyviewer // hierarchyviewer工具源码
|- icons //
|- sdklauncher // sdk加载源码
|- settings // sdk设置源码
|- templates // 模板
|- testapps // 测试应用
system
|- bt // 蓝牙相关
|- ca-certificates // 证书颁发机构
|- chre // 校验读出
|- connectivity // WIFI,包括wificond和wifilogd两个daemon。
|- wificond // WIFI配置
|- wifilogd // WIFI 的log系统
|- core // 系统核心工具盒接口。
|- adb // adb调试工具
|- adf // ADF file format解析库
|- base // 通用基础库
|- bootstat // 记录启动状态工具库
|- cpio // cpio工具,创建img
|- debuggerd // 调试工具
|- demangle // 还原库
|- fastboot // 快速启动相关
|- fingerprintd // 指纹库
|- fs_mgr // 磁盘引导头
|- gatekeeperd // 锁屏密码服务系统接口
|- healthd // healthd是android4.4之后提出来的一种中介模型,该模型向下监听来自底层的电池事件,向上传递电池数据信息给framework层的batteryservice用以计算电池电量相关状态信息,batteryservice通过传递来的数据来计算电池电量显示,剩余电量,电量级别等信息
|- include // 系统接口头文件
|- init // init程序源代码
|- libappfuse // AppFuse是一个集成了众多当前最流行开源框架与工具(包括Hibernate、ibatis、Struts、Spring、DBUnit、Maven、Log4J、Struts Menu、Xdoclet、SiteMesh、OSCache、JUnit、JSTL等(现在还有lucene的,无敌了))于一身的Web开发框架。AppFuse提供了Web系统开发过程中都需要开发的一些功能,如登陆、用户密码加密,用户管理、根据不同的用户可以展现不同的菜单.J2EE开发者也可以在此基础上开发加入自己的功能模块。利用这个框架可以大幅度的提高开发速度
|- libbacktrace // 进程堆栈库
|- libbinderwrapper // binder底层库
|- libcrypto_utils // 加密库
|- libcutils // 网络工具库
|- libdiskconfig // 磁盘配置库
|- libgrallocusage // 显示系统库
|- libion // ION是Google的下一代内存管理器,用来支持不同的内存分配机制,如CARVOUT(PMEM),物理连续内存(kmalloc), 虚拟地址连续但物理不连续内存(vmalloc), IOMMU等
|- liblog // log库
|- libmemtrack // 内存堆栈库
|- libmemunreachable //
|- libmetricslogger //
|- libnativebridge // native层库
|- libnativeloader // native加载库
|- libnetutils // 网络工具包库
|- libpackagelistparser //包解析库
|- libpixelflinger // Pixelflinger是Android系统中为OpenGLES引擎提供的一套软件渲染器(renderer)。OpenGLES引擎提供了一系列基础绘图功能。这些功能包括定义各种颜色格式像素位置、画点画线、绘制矩形及三角形、填充纹理等等。由于OpenGLES相当于一个状态机,配置OpenGLEs状态的函数也均由Pixelflinger提供
|- libprocessgroup // 进程组库
|- libprocinfo // 系统属性信息
|- libsparse // 稀疏矩阵库
|- libsuspend // 跟电源管理相关
|- libsync // 网络数据同步开发库
|- libsysutils // 系统工具库
|- libunwindstack // libunwind库为基于64位CPU和操作系统的程序提供了基本的堆栈辗转开解功能
|- libusbhost // usb库
|- libutils // 系统基本库
|- libziparchive // zip压缩算法库
|- lmkd // 低内存库
|- logcat // logcat工具源码
|- logd // log进程
|- logwrapper // log封装工具
|- mkbootimg // 制作启动boot.img的工具盒脚本
|- reboot // 重启
|- rootdir // rootfs,包含一些etc下的脚本和配置
|- run-as // 权限控制
|- sdcard // SD卡管理器
|- shell_and_utilities // shell工具包
|- storaged // 存储
|- toolbox // toolbox,类似busybox的工具集
|- trusty // 授权底层
|- tzdatacheck // 时区检查底层
|- extras // 核心库之外的程序,包括以下几个目录。
|- alloc-stress // 内存释放
|- ANRdaemon // 系统无响应库
|- app-launcher // launcher应用库
|- boot_control_copy // boot控制复制
|- bootctl // boot控制
|- brillo_config // Brillo 系统配置
|- cppreopts //
|- cpustats // cpu状态
|- crypto-perf // 加密性能分析工具
|- ext4_utils // ext4文件系统
|- f2fs_utils // f2fs文件系统
|- ioshark // io流操作泄露回收
|- iotop // io操作相关
|- kexec_tools // Kexec是Linux和Xen提供的软重启和崩溃转储工具。 这个页面是kexec各种工作的反弹点
|- ksmutils // KSM是一种节省内存的重复数据删除功能,可以合并匿名(专用)页面(不是页面缓存)。 虽然它是以这种方式开始的,但KSM目前适用于不止于虚拟机的使用,因为它对任何生成相同数据的许多实例的应用程序都是有用的
|- latencytop // a tool for software developers ,identifying system latency happen
|- libfec // fec库
|- libpagemap // pagemap库
|- librank // rank库
|- memcpy-perf // 内存性能分析
|- memory_replay // 内存重写
|- memtrack // 内存堆栈
|- micro_bench // sim相关
|- mmap-perf // 系统级性能分析工具
|- multinetwork // 多网络系统实现
|- pagecache //
|- perfprofd // 系统安装相关
|- postinst //
|- preopt2cachename // dex文件优化相关
|- procmem // 用于查看系统中的内存使用情况,procrank可以查看系统中所有进程的整体内存占用情况,并按照规则排序
|- procrank // 用于查看系统中的内存使用情况,procmem可以针对某个特定的进程分析其堆、栈、共享库等内存占用情况
|- puncture_fs //
|- runconuid //
|- sane_schedstat // 射频库
|- showmap // showmap工具
|- showslab // showslab工具
|- simpleperf // Simpleperf是Android平台的一个本地层性能分析工具。它的命令行界面支持与linux-tools perf大致相同的选项,但是它还支持许多Android特有的改进
|- slideshow // 幻灯片展示
|- sound // 声音相关
|- squashfs_utils // SquashFS是一套基于Linux内核使用的压缩只读文件系统。该文件系统能够压缩系统内的文档,inode以及目录,文件最大支持2^64字节。
|- su // su命令源码
|- systrace_analysis // 系统性能分析
|- taskstats // 任务管理
|- tests // 测试工具
|- tools // 工具
|- verity // 认证
|- zram-perf // ZRAM是linux的一种内存优化技术,基本工作原理是:通过划定一片区域,将压缩过后的硬盘数据放入该区域,以实现高速读取
|- gatekeeper // 防护程序,如锁屏密码等。
|- hardware //
|- hwservicemanager // Hardware Service Manager。
|- keymaster // HAL密钥管理。
|- libfmq // Message Queue。
|- libhidl // Hardware Interface Description Language。
|- libhwbinder // Hardware Binder。
|- libufdt // Unflattened Device Tree。
|- libvintf // Vendor Interface。
|- media // 包括alsa、audio、brillo、camera和radio。
|- nativepower // 用于Brillo的电源管理模块,包括客户端的libnativepower和服务端的nativepowerman以及示例代码。
|- netd // 网络模块,包括client和server。
|- nfc // Near Field Communication。
|- nvram // NVRAM访问控制。
|- security // 安全模块,包括keystore和软件模拟的softkeymaster。
|- sepolicy // Android SELinux policy configuration。
|- tools // 包括aidi和hidl。
|- tpm // Trusted Platform Module,一种安全防御工具。
|- update_engine // 系统升级。
|- vold // Volume服务,如sdk卡、usb等。
test 目录
|- vts // Vendor Test Suite。
|- vts-testcase // VTS测试用例,包括fuzz、kernel、performance和security。
tools 目录
|- apksig // APK签名,包括一个Java库和一个Java命令行工具。
|- external // 外部工具,包括以下几个目录。
|- fat32lib // 用于FAT文件系统。
|- gradle // Gradle各种版本的源码压缩包。
|- loganalysis // log分析的Java类库。
|- repohooks // 用于repo upload,报告各仓库的修改情况。
|- test // 测试框架,Python实现。
|- tradefederation // 服务于测试。
vendor
|- aosp (android open source project)
|- products (一些板级规则)
|- qcom (高通的配置)
|- sample (google提供的样例)
|- apps (应用)
|- client (用户)
|- upgrade (升级)
|- frameworks (框架)
|- PlatformLibrary (平台库)
|- products (产品)
|- sdk_addon (sdk添加部分)
|- skins (皮肤)
|- WVGAMedDpi (WVGA适用的图片)
cts 目录
|- apps // cts测试所使用的apk源码
|- build // cts套件的编译配置
|- common // cts套件的通用代码
|- development // cts套件兼容之前使用eclipse ADT开发apk的脚本
|- hostsidetests // cts套件新增host测试项
|- libs // cts套件使用的第三方库
|- suite // cts套件
|- tests // cts套件进行的测试项
|- tools // cts套件使用的测试工具源码
out // 编译产生的目录
|- host // 在主机PC host上使用的工具,包括二进制程序以及JAVA的程序)
|- common
|- obj // JAVA 库
|- linux-x86
|- bin // 二进制程序
|- framework // JAVA 库,*.jar 文件
|- lib // 共享库*.so
|- obj // 中间生成的目标文件
|- target // 在目标机(如ARM)上运行的内容,多数编译资源会暂存在这里
|- common // common表示通用的内容
|- R // 资源文件
|- docs
|- obj // 目标文件,APPS中包含了打成APK包的JAVA应用程序, JAVA_LIBRARIES中包含了JAVA的库
|- product // product 中则是针对产品的内容
|- generic
|- android-info.txt
|- clean_steps.mk
|- symbols
|- obj // obj/APPS目录中包含了各种打成了APK包的JAVA应用,obj/SHARED_LIBRARIES中存放所有动态库,obj/STATIC_LIBRARIES中存放所有静态库
|- root/
|- ramdisk.img // 对应于root/目录,挂载在/
|- system/
|- system.img // 挂载在system/目录,包括了主要系统apps,priv-apps
|- data/
|- userdata.img // 挂载在data/目录,用户数据
|- userdata-qemu.img