Android源码结构

abi

应用程序二进制接口(abi is application binary interface)

art

Android运行时机制相关

bionic

Linux内核中库

  • libc C库
  • limdl 动态链接库相关
  • libm C数学函数,运算相关
  • libstdc++ 标准C++库

bootable

引导、安装程序,其他设备启动的东西

build

build的时候的一些脚本和环境

cts

兼容性测试框架(compatibility test suite)
(没用过)

dalvik

Java虚拟机相关

development

开发相关的工具,SDK、NDK等

devices

特定厂商的设备文件

docs

文档相关

external

外部库和工具的源代码。Webkit,Sqlite,zlib等

frameworks

重要的目录之一。System Server、Package Manager、Activity Manager等关键服务的实现,java层到native层的映射

hardware

部分厂家开源的硬件适配层(HAL)代码,Wifi、电源等

kernel

内核源码

libcore

一些核心的库

  • Dalvik
  • dom
  • expectations
  • include
  • json
  • luni
  • support
  • xml

libnativehelper

没用过

ndk

本地开发包

out

编译完成后输出目录,out/target/product/genetic 目录存放编译完成的镜像。

packages

标准的应用程序,相机、短信、拨号等

pdk

platform build kit,方便vendor适配最新android,避免碎片化

prebuilt

预先编译好的二进制文件,例如交叉编译工具等

sdk

开发环境

system

android核心系统,可以认为是一个微型的Linux系统,运行在Dalvik虚拟机和java层服务开启前,包含init进程

tools

gradle等工具

vendor

厂商代码