您的位置:首页 > 移动开发 > Android开发

Android Framework源码下载及编译

2012-01-30 16:33 197 查看

学习了高焕堂先生的《Android应用框架原理》后,接触到了Ioc(Inversion of control,控制反转),想学习下Android应用框架,挽起袖子操刀直接冲着源码去了。

 

环境:VMWare + Ubuntu11.04

 

 

Linux build环境的配置:

 

1.2.6Gd的源码存储空间

2.安装Python2.4--2.7(Ubuntu11.04自带)

3.Git1.7

4.安装jdk

A.android2.3及以后版本需安装jdk6,android2.2及以前版本jdk5

 

B.安装jdk6:

$ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"

$ sudo apt-get update

$ sudo apt-get install sun-java6-jdk

等待……tab键一路ok即可。

 

C.【说明】下载时间过长可离线安装。

在UBUNTU和Windows之间共享文件:

新建文件夹-->右键shareOperations-->安装Windows网络共享服务(smbclient)

-->restart the ression-->返回文件夹进行共享设置

5.安装包(Installing required packages)

64-bit:

sudo apt-get install git-core gnupg flex bison gperf build-essential \ zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \ x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev \ libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \ libxml2-utils xsltproc

一路确定即可。

因为只是用于学习,到这里就完成了Linux build环境的配置了。

参考http://source.android.com/source/initializing.html

 

源码下载

 

1.安装Repo,“在本机建立分布仓库”,Repo是基于Git的一个管理工具.下载android源码时,当需下载源码包中某一个文件时,用git;而需下载整个源码包时,需用repo,这也是git和repo的区别。

$ mkdir ~/bin

$ PATH=~/bin:$PATH

 

$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo

$ chmod a+x ~/bin/repo

 

The SHA-1 checksum for repo is 29ba4221d4fccdfa8d87931cd73466fdc24040b5.

 

2.初始化Repo客户端(建立目录 AndroidSource_GB<版本>)

$ mkdir AndroidSource_2012_1_30

$ cd AndroidSource_2012_1_30

 

$ repo init -u https://android.googlesource.co

 按要求上邮箱什么的。

 

3.开始同步文件

$ repo sync 

默认最新版本,如果想同步以前的版本,加一些tag

下载……6——8个小时(若下载中断,重新执行repo sync即可)

验证Git Tag(拿本地代码与所下载代码进行比较,仅用于学习的话就不用这一步了)

参考http://source.android.com/source/downloading.html

 

 

Build the System

 

参考http://source.android.com/source/building.html,这就算了吧。

调用模拟器emulator启动编译好的ROM。

make不编译内核,更改了驱动后才编译内核。

 

 

说明:

Installing required packages选的是32-bit时,build可能会有can not build on System 32bit的问题,应该是Ubuntu11.04的bug,打个什么补丁吧好像。

如果是通过代理上网的话需另行设置。

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: