返回首页
当前位置: 主页 > 讲师博文 >

Android系统移植及编译(一)

时间:2014-08-01 17:14来源:华嵌长沙分中心 作者:周龙 点击:
Android源代码目录结构 作者:华嵌长沙中心讲师 周龙 早期的android源代码目录,包含内核、bootloader等,现在已经没有包含这些了,最新版本(4.4)主要包含如下目录: bionic : Android C 库;
  

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/ 包含在最终产品上运行的程序及文件。

 

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

 

相关课程链接:  Android软件开发就业班

------分隔线----------------------------

  • 李老师
  • 李老师
  • 胡老师
  • 胡老师
合作伙伴
  • 武汉工程大学合作培训机构

  • 国家信息技术紧缺人才培养工程(NITE)

  • ARM公司全球授权培训中心

  • 国内首家Symbian授权培训

  • 微软全球嵌入式合作伙伴

  • Altera全球合作培训机构