Android系统源码目录详解

关于源码的阅读,你可以访问:http://androidxref.com/

我们要先了解Android系统源码目录,为后期源码学习打下基础。
当然,最好是将源码下载下来。下载源码可以使用清华大学开源软件镜像站提供的Android 镜像:
https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/ 
如果觉得麻烦也可以查找国内的网盘进行下载,推荐使用该百度网盘地址下载:http://pan.baidu.com/s/1ngsZs
它提供了多个Android版本的的源码下载。

Android源码根目录(Android 10.0)目录类型描述是否常用
1级目录2级目录3级目录
abi应用程序二进制接口
art全新的ART运行环境
bionic系统C库,bionic c是Android重写的c库,所以Android使用的c库也并不是传统glibc。
bootable启动引导相关代码
build存放系统编译规则及generic等基础开发包配置常用
katiAndroid 7.0之后引入了ninja,并通过kati工具将makefile转化为ninja套件进行编译,用于提升编译效率。
soongAndroid8.0之后引入了Android.bp,Android.bp也会被转化为.ninja文件,转换的工具是soong
compatibility
ctsAndroid兼容性测试套件标准
dalvik虚拟机
developers开发者目录
development应用程序开发相关
device设备相关配置常用
docs参考文档目录
external开源模组相关文件
frameworks存放Android SDK对外提供的API,Android系统核心部分,由Java和C++编写。
base
coreandroid核心包
media多媒体和音频相关内容
graphics图形处理包
openglAndroid OpenGL 3D实现
location定位相关的内容
telephony电话相关的内容
wifi无线局域网相关内容
hardware主要是硬件抽象层的代码
HW_Vendor_INTF
kernel
libcore核心库相关文件
libnativehelper动态库,实现JNI库的基础
ndkNDK相关代码,帮助开发人员在应用程序中嵌入C/C++代码
outout下是编译完成后生产的各种文件,比如各种系统的apk文件,这些都是即将安装到Android设备上面的常用
packages应用程序包。package下包含很多Android项目的源码,手机上所有可以点击的图标其实都是一个Android项目,比如录音,电话,系统设置,或者三方的一些程序(阅读器,应用商城)等等常用
pdkPlug Development Kit 的缩写,本地开发套件
platform_testing平台测试
prebuiltsx86和arm架构下预编译的一些资源
repohooks
sdksdk和模拟器
system底层文件系统库、应用和组件
test
toolchain工具链文件
tools工具文件
vendor
Makefile全局Makefile文件,用来定义编译规则

 Android工程目录

MyApplication
.gradle
.idea
app
build
libs
src
androidTest
main
java
com.example.myapplicationjava源代码包
MainActivity
res
drawable图像描述文件与用户图片
drawable-v24
layoutApp页面的布局文件
menu
mipmap-xxx启动图标
raw
values各种常量定义文件
AndroidMainfest.xmlApp的运行配置文件
test
.gitignore
app.iml
build.gradle模块级的编译配置
proguard-rules.projava文件的代码混淆规则
gradle
wrapper
.gitignore
build.gradle
gradle.properties编译工程的命令行参数
gradlew
gradlew.bat
local.properties
MyApplication.iml
settings.gradle工程级的模块编译配置
External Libraries
Scratches and Consoles

版权声明:本文为wuzheyan2008原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。