学习了高焕堂先生的《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,打个什么补丁吧好像。
如果是通过代理上网的话需另行设置。