Android 的目录结构解析

    在编译关于 framework层需要经常改一些参数,而且现在这个平台并不支持 android的编译系统(mmm 命令等),也就是需要你每次修改了其中文件需要手动的 make下,都要经过 source -> lunch ->  make 三步。涉及到 JNI 和 Native相互调用的时候,更加需要熟悉整个android目录结构,在此对这个结构进行小小分析,涉及相关与底层相关的都会做些实时记录的。

|-- Makefile待续
|-- bionic (bionic C库)
|-- bootable (启动引导相关代码)
|-- build (存放系统编译规则及generic等基础开发包配置)
|-- cts (Android兼容性测试套件标准)
|-- dalvik (dalvik JAVA虚拟机)
|-- development (应用程序开发相关)
|-- device (特定厂商产品相关目录)
|-- external (android使用的一些开源的模组)
|-- frameworks (核心框架——java及C++语言)
|-- hardware (部分厂家开源的硬解适配层HAL代码)
|-- out (编译完成后的代码输出与此目录)
|-- packages (应用程序包)
|-- prebuilt (x86和arm架构下预编译的一些资源)
|-- sdk (sdk及模拟器)
|-- system (底层文件系统库、应用及组件——C语言)
`-- vendor (厂商定制代码)


    其中黄色部分在编译过程需要用到的工具, 红色部分则是经常需要接触到的文件部分。比如 system 目录当你需要分析启动过程,涉及到的文件可能有:
(1) init.c:路径为system/core/init/init.c
(2) init_parser.c:路径为system/core/init/ init_parser.c
(3) builtins.c:路径为system/core/init/ builtins.c
(4) property_service.c:路径为system/core/init/property_service.c
(5) keycords.c:路径为system/core/init/keycords.c
(6) signal_handler.c:路径为system/core/init/signal_handler.c
    在分析 Jni 和 Native需要接触的似乎 framework 这个目录了


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

tcutee

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值