Android源码目录结构介绍

Android源码包含比较多的文件,比如Android系统的所有页面,里面的所有app程序,还包含了sdk,各种镜像img等等。完整Android源码基本在200多G左右,而且这还是比较初始的设计板,里面几个基本功能的app程序。
Android源码编译得到镜像文件img并不是很大,一般1-2G,把这几个镜像烧录到我们的Android设备上,Android设备就可以运行起来,就像我们正常使用的手机那样。

在线阅读Android源码:
目录结构图:

Android源码目录结构如下:
  • art:Android Runtime,一种App运行模式,区别于传统的Dalvik虚拟机,旨在提高Android系统的流畅性
  • bootable:Android程序启动导引,适合各种bootloader的通用代码,包括一个recovery目录
  • bionic:基础C库源代码,Android改造的C/C++库
  • build:存放系统编译规则及generic等基础开发包配置
  • compatibility:Android兼容性计划
  • cts: Android兼容性测试套件标准
  • dalvik:Android Dalvik虚拟机相关内容
  • developers:Android开发者参考文档
  • development: Android应用开发基础设施相关
  • device:Android支持的各种设备及相关配置
  • external:Android中使用的外部开源库
  • frameworks:应用程序框架,Android系统核心部分,由Java和C++编写
  • hardware:硬件适配接口
  • kernel:Linux Kernel,不过Android默认不提供,需要单独下载,只有一个tests目录
  • libcore:Android Java核心类库
  • libnativehelper:Android动态库,实现JNI库的基础
  • packages:应用程序包
  • pdk:Plug Development Kit 的缩写,本地开发套件
  • platform_testing:Android平台测试程序
  • sdk:Android的Java层sdk
  • system:Android底层文件系统库、应用和组件
  • toolchain:Android工具链文件
  • tools:Android工具文件
  • Android.bp:Android7.0开始代替Android.mk文件,它是告诉ndk将jni代码编译成动态库的一个脚本
  • Makefile:全局Makefile文件,用来定义编译规则
Android开发可掌握的二级目录:
frameworks:

Android应用开发者最要关注的就是Framework层的源码。其中base目录中是应用框架层的主要核心代码,
framework-base目录结构如下:

  • apct-tests:性能优化测试
  • api:android应用框架层声明类、属性和资源
  • cmds:android系统启动时用到的commands
  • core:framework的核心框架组件
  • data:android下的资源(字体、声音、视频、软盘等)
  • docs:android项目说明
  • drm:实现权限管理,数字内容解密等模块的工作
  • graphics:图像渲染模块
  • keystore:秘钥库
  • libs:库信息(界面、存储、USB)
  • location:位置信息
  • media:手机媒体管理(音频、视频等)
  • native:本地方法实现(传感器、输入、界面、窗体)
  • nfc-extras:近场通讯
  • obex:蓝牙
  • opengl:2D和3D图形绘制
  • packages:框架层的实现(界面、服务、存储)
  • proto:协议框架
  • rs:资源框架
  • samples:例子程序
  • sax:xml解析器
  • services:各种服务程序
  • telecomm:telecomm通信框架
  • telephony:电话通讯框架
  • tests:各种测试
  • vr:虚拟现实相关
  • wifi:wifi模块

packages:

应用层位于整个Android系统的最上层,开发者开发的应用程序以及系统内置的应用程序都是在应用层。源码根目录中的packages目录对应着系统应用层。
它的目录结构:

  • apps:核心应用程序
    包括了著名的Contacts,Messaging,Launcher3(桌面),Music(音乐),QuickSearchBox(搜索),Settings(系统设置),SystemUI,Nfc,Gallery等系统应用。

apps层级目录:

  • experimental: 第三方应用程序
  • inputmethods:输入法目录
  • providers:内容提供者目录
  • screensavers:屏幕保护
  • services:系统服务
  • wallpapers:墙纸
    如果你看到了这里,觉得文章写得不错就给个赞呗?
    更多Android进阶指南 可以扫码 解锁更多Android进阶资料


    在这里插入图片描述
    敲代码不易,关注一下吧。ღ( ´・ᴗ・` )
  • 14
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值