找回密码
 注册
搜索
查看: 938|回复: 1

[综合资料] Android系统移植及编译(一)

[复制链接]
52RD网友  发表于 2014-12-11 15:12:57 |阅读模式
Android源代码目录结构



       作者:武汉华嵌长沙分中心讲师   周龙



      早期的android源代码目录,包含内核、bootloader等,现在已经没有包含这些了,最新版本(4.4)主要包含如下目录:

bionic:

  Android C 库; android没有用glibc, 而且基于BSD-derived 源代码开发出   Bionic。这个目录主要包含了C库、math、以及其他核心运行库的实现代码。

bootable:

   启动及引导相关的代码; 还包含了android fastboot协议的实现。

build:

        这个目录包含了android 编译系统的实现,包含了所有核心makefile模块及脚本,以及envsetup.sh(这个脚本主要用来设置android编译环境)。

dalvik:

        Dalvik Virtual Machine(android 的java虚拟机)的实现。

development:

        包含与开发相关的项目(如sdk、ndk)源代码。

device:

   与具体产品相关的代码及配置文件等,比如特定产品的编译配置文件、硬件相碰的模块代码等等。

external:

        包含外部的第三方开源项目的源代码,比如SDLite, jpeg, libogg, …

frameworks:

        包含android frameworks的实现代码; 以及关键服务(比如System Server, Activity managers等)的实现,以及java 应用API与本地库之间的映射。

hardware:

硬件相关源代码,以及包含android硬件抽象层(HAL层:Hardware Abstraction Layer)协议及源码实现。

   packages:

              包含默认的android应用程序比如联系人、日历、浏览器等等。

   prebuilts:

包含预编译的二进制程序,如arm-eabi-gcc等

   system:

包含android核心系统的源码实现,以及init进程的源码实现及init.rc         脚本。实际上这个目录包含的是一个最小的linux根文件系统的实现,这个系统是在android虚拟机及基本java服务跑起来前运行。

   out:

              这个目录包含android编译输出结果,包括中间文件和最终映像文件。

              out/host/ 包含运行在主机上面的程序及文件;

       out/target/product/ 包含在最终产品上运行的程序及文件。



未完.,待续......

发表于 2014-12-11 21:53:24 | 显示全部楼层
晕晕的……
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-11-26 20:03 , Processed in 0.052381 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表