您的位置:首页 > 移动开发 > Android开发

android 源码目录结构

2016-11-17 18:03 239 查看
作者:吕超

链接:https://www.zhihu.com/question/19946250/answer/13440005

来源:知乎

著作权归作者所有,转载请联系作者获得授权。

不需要全部了解,阅读你感兴趣或者与你工作相关的部分就可以了。比如:

顶层目录:

.

|– bionic (bionic库,Android的基础库)

|– bootable (bootloader, recovery等,ROM移植相关)

|– build (编译和配置所需的脚本和工具)

|– dalvik (dalvik的Java虚拟机)

|– development (开发应用程序所需的模板和工具)

|– external (由其他平台移植过来的项目,对于移植工作是非常好的参考)

|– frameworks (应用程序框架层,请仔细阅读此部分代码,对于开发App会有很大帮助)

|– hardware (与硬件相关的库,驱动开发相关)

|– kernel (linux内核)

|– out (编译后生成的目录,包含构建文件系统所需的文件)

|– packages (Android的原生应用程序,App开发者需要重点关注)

|– prebuilt (Android在各平台下编译的预置脚本)

|– system (Android的底层库)

`– vendor / device (设备相关的代码,AOSP里不会有太多涉及,但是CM中却是重点)

external目录:

.

|– aes (ASE加密)

|– apache-http (网页服务器)

|– bison (自动生成语法分析器,将无关文法转换为C,C++)

|– bluez (Linux下的蓝牙工具)

|– bsdiff (diff工具)

|– bzip2 (压缩工具)

|– clearsilver (html模板系统)

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

|– dhcpcd (DHCP服务)

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

|– dropbear (SSH2的服务器/客户端)

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

|– elfcopy (ELF复制工具)

|– elfutils (ELF工具)

|– embunit

|– emma (Java代码覆盖率统计工具)

|– esd (将多种音频流混合在一个设备上播放)

|– expat

|– fdlibm

|– freetype (字体)

|– gdata (google的无线数据)

|– genext2fs

|– giflib (gif库)

|– googleclient (google用户库)

|– grub

|– icu4c

|– iptables (防火墙)

|– jdiff

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

|– jpeg (jpeg库)

|– libffi

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

|– libpng (png库)

|– libxml2 (xml解析库)

|– netperf (网络性能测试工具)

|– opencore (多媒体框架,最让人诟病的模块,Andoird 4.0中已被 stagefright 取代)

|– openssl (SSL模块,需要注意的是一定要静态编译此模块,否则会出现兼容问题)

|– qemu (Android 模拟器,Android 4.0之前只支持 arm-eabi,现在已支持 arm-v7)

|– skia (SKIA图像引擎)

|– sqlite (数据库)

|– strace (调试跟踪工具)

|– tcpdump (TCP抓包软件)

|– webkit (浏览器核心)

|– wpa_supplicant (无线网卡管理)

|– yaffs2 (yaffs文件系统)

参考:http://www.cnrgb.com/android-source-code-structure
(做了一些修改,原文比较老了)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: