Android核心服务解析篇(二)——Android源码结构分析

本文深入剖析Android源码结构,涵盖Core Project、External Project、Package三大部分,详细解读了应用程序、应用程序框架、系统服务、系统程序库、硬件抽象层等关键组成部分。通过目录结构分析,揭示了Android系统如何组织和运行。
摘要由CSDN通过智能技术生成

获得Android源码后,我们来分析源码结构。源码的全部工程分为如下三个部分。


①Core Project:核心工程部分,这是建立Android系统的基础,保存在根目录的各个文件夹中。

②External Project:扩展工程部分,可以使其他开源项目具有扩展功能,保存在external文件夹中。

③Package:包部分,提供了Android的应用程序,内容提供者,输入法和服务,保存在package文件夹中。


在获取的Android4.3源码目录中,包含了原始Android的目标机代码,主机编译工具和仿真环境。解压缩下载的Android4.3源码包后,第一级别目录结构的具体说明如下表所示:


表2-1 Android源码的根目录
根目录 描述
abi abi相关代码,应用程序二进制接口
bionic bionic C库
bootable 启动引导相关代码
build 存放系统编译规则及generic等基础开发配置包
cts Android兼容性测试套件标准
dalvik dalvik Java虚拟机
development 应用程序开发相关代码
device 设备相关代码
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的缩写,是本地开发套件
prebuilts                x86和ARM架构下预编译的一些资源
sdk SDK及模拟器
system 文件系统和应用及组件,是用C语言实现的
tools 工具文件夹
vendor 厂商定制代码
Makefile 全局的Makefile





































文件夹目录如下:





1.Android源码的目录结构


当下载好Android源码后,可以看到,第一级目录有18个文件夹和一个Makefile文件,如果是编译后的源码目录,会增加一个out文件夹,用来存放编译产生的文件,下面具体来分析一下这些目录各自的作用:


|——abi //应用程序的二进制接口

|——bionic //Android基础C库的源码

|——bootable //系统启动器的源码

|——build //编译和配置系统所需要的配置文件和脚本文件

|——cts //Android兼容性测试标准

|——dalvik //Android虚拟机源码

|——development //程序开发的模板和工具

|——device //设备相关代码

|——docs //开源的相关文档

|——external //Android使用的第三方开源库的源码

|——frameworks //应用程序框架源码

|——gdk //即时通信模块

|——hardware //硬件抽象层源码

|——libcore //相关核心库的代码

|——libnativehelper //动态库

|——ndk //NDK开发环境

|——packages //应用程序包

|——pdk //本地开发套件

|——prebuilt //x86和ARM架构下预编译的一些资源

|——sdk //SDK和模拟器相关代码

|——system //文件系统,应用和组件

|——Makefile //系统编译脚本


通过上面对源码根目录中的每个文件夹的介绍,可以看出源码是按照功能进行分类的,整个Android源码分为系统代码,工具,文档,开发环境,虚拟机,配置脚本和编译脚本等类别。


2.应用程序


在Android源码中,应用程序部分的功能是实现UI界面,开发人员基于SDK开发的APK包便属于应用程序层。应用程序层在Android系统中处于最顶层,Android 4.3源码结构中的packages目录用来实现系统的应用程序࿰

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李元静

您的鼓励就是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值