Android源码结构

来源:互联网 发布:node.js tomcat 编辑:程序博客网 时间:2024/05/16 03:27

from   http://blog.sina.com.cn/s/blog_61e02ab60100xiav.html

Android源码结构

(2011-09-28 18:05:42)
转载
标签:

杂谈

分类:Android
Android代码分为三部分,打开 http://android.git.kernel.org 所见就是Android源码的根目录
  • 核心工程(Core Project):建立Android系统的基础,根目录的各个文件夹中
  • 扩展工程(External Project):使用其他开源项目的扩展功能,在external文件夹中
  • 包(Package):提供Android的应用程序包和服务,在package文件夹中

1. Android核心工程

  Android 的核心工程包含了对Android系统基本运行的支持,以及Android系统的编译系统,工程的内容如下表:

Android 的核心工程工程名称工程描述bionic[Build 系统] C运行时支持:libc、libm、libdl、动态linkerbootloader/legacyBootloader 参考代码 (内核加载器,在内核运行之前运行)build[Build 系统] Build系统dalvikDalvik虚拟机delelopment高层的开发和调试工具framework/baseAndroid 核心的框架库framework/policies/base框架配置策略hardware/libhardware硬件抽象层库hardware/ril无线接口层(Radio Interface Layer)kernelLinux 内核prebuilt[预编译内核] 对Linux 和 Mac OS 编译的二进制支持 system/core最小化可启动的环境system/extras底层调试和检查工具

  除了上表列出的工程外,还有其他的工程,但大都是Android系统第2个层次的源代码。

  2、Android扩展工程

  Android的扩展工程包含在external文件夹中,是一些经过修改后适应Android系统的开源工程。有一些工程在主机上运行,也有些在目标机上运行。由于包含的扩展工程就多,就不一一列出,感兴趣的童鞋可以自己收集一些资料学习一下。

  

  3、Android中的Java程序包

  Android中的Java程序包是Android系统架构第4层的内容,主要包括应用程序(Application)和内容提供器(ContentProviders)两个部分,还有一个目录inputmethods是输入法的部分。

  应用程序(Application)在package/apps目录中,主要包括:

  AlarmClock,Browser,Calculator,Calendar,Camera,Contacts,E-mail,GoogleSearch

  HTML Viewer,IM,Launcher,Mms,Music,PackageInstaller,Phone

  Settings,SoundRecorder,Stk,Sync,Updater,VoiceDialer。

  

  内容提供者(Content Providers)在package/providers目录中,主要包括:

  CalendarProvider,ContactsProvider,DownloadProvider,DrmProvider

  GoogleContactsProvider,GoogleSubsribedFeedsProvidercImProvider,MediaProvider

  SettingsProvider,SubscribedFeedsProvider,TelephonyProvider。

  按需下载

  如果你只需要其中的某一个或者几个文件的话,可以使用如下的git命令:

  git clone git://android.git.kernel.org/工程代码路径 

  (例如: git clonegit://android.git.kernel.org/platform/packages/providers/DrmProvider.git)

  下载的目标地址,就是当前git命令行所在的当前目录。

  下载各个版本的Android SDK 源代码

  给大家提供一个在Windows下下载不同版本SDK源代码的方法,我也在网上找过其他的方法,但是都是Copy&Paste出来的。

  或者参考另一篇博文:使用git工具下载android.jar Source Code

  1、下载Git,并且安装好;

  2、新建一个文件frameworks,这个文件夹就是用来存放你将要下载的Android SDK源代码的目录

  3、启动Git bash命令行,输入命令  git clonegit://android.git.kernel.org/platform/frameworks/base.gitframeworks,将会把android.git.kernel.org站点上的base文件夹下的所有文件和文件夹下载本地的frameworks文件夹中;

  4、在Git命令行环境下,使用cd命令,逐步进入到frameworks/base文件夹中;

  5、使用 "git tag" 命令,显示所有的Android的源代码工程名称;  

  6、找到你所需要的源代码的名称和版本,在使用命令"git checkoutandroid-1.5r4"切换到模拟器(emulator)对应的版本;

  7、将frameworks/base/core/java下的所有文件拷贝到你的SDK目录下的"android-sdk-windows\platforms\android-3\sources"文件夹下。

  注意:每次切换模拟器的版本时,git会自动从网站上下载对应版本的源代码到frameworks/base/文件夹下,再将该文件夹下的文件拷贝到对应版本的SDK目录下即可。


0 0