本文主要就介绍如何下载Android源码和编译源码
ubuntu下载地址:http://releases.ubuntu.com/10.04.4/。官方指定的版本是10.04,我们可以选择 ubuntu-10.04.4-desktop-amd64.iso 下载。
vmware下载地址地址:http://www.baiasp.com/,可以从这个网站上下载vmware 9.0.0 build-812388。
ubuntu的安装方法,http://download.csdn.net/detail/android2me/5290527。
3.安装相关软件包,这个是对ubuntu 10.0.4的
$ 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
4.Configuring USB Access
按照这个路径 /etc/udev/rules.d/51-android.rules
创建文件51-android.rules.$ touch /etc/udev/rules.d/51-android.rules, 把下面的信息加到51-android.rules中,用的你用户名替换<username>
# adb protocol on passion (Nexus One)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e12", MODE="0600", OWNER="<username>"
# fastboot protocol on passion (Nexus One)
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", MODE="0600", OWNER="<username>"
# adb protocol on crespo/crespo4g (Nexus S)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e22", MODE="0600", OWNER="<username>"
# fastboot protocol on crespo/crespo4g (Nexus S)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e20", MODE="0600", OWNER="<username>"
# adb protocol on stingray/wingray (Xoom)
SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", ATTR{idProduct}=="70a9", MODE="0600", OWNER="<username>"
# fastboot protocol on stingray/wingray (Xoom)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="708c", MODE="0600", OWNER="<username>"
# adb protocol on maguro/toro (Galaxy Nexus)
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6860", MODE="0600", OWNER="<username>"
# fastboot protocol on maguro/toro (Galaxy Nexus)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e30", MODE="0600", OWNER="<username>"
# adb protocol on panda (PandaBoard)
SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d101", MODE="0600", OWNER="<username>"
# fastboot protocol on panda (PandaBoard)
SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d022", MODE="0600", OWNER="<username>"
# usbboot protocol on panda (PandaBoard)
SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d00f", MODE="0600", OWNER="<username>"
# usbboot protocol on panda (PandaBoard ES)
SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d010", MODE="0600", OWNER="<username>"
# adb protocol on grouper/tilapia (Nexus 7)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e42", MODE="0600", OWNER="<username>"
# fastboot protocol on grouper/tilapia (Nexus 7)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e40", MODE="0600", OWNER="<username>"
# adb protocol on manta (Nexus 10)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee2", MODE="0600", OWNER="<username>"
# fastboot protocol on manta (Nexus 10)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee0", MODE="0600", OWNER="<username>"
5.Setting up ccache
export USE_CCACHE=1
把上面的内容加到~/.bashrc文件的最下面。
6.安装 Repo
先在你的home目录下创建目录bin并设置环境变量
$ mkdir ~/bin
$ PATH=~/bin:$PATH
下载 Repo 并修改权限
$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
7.创建你的工作目录,也就是你源码下载的目录
$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY
8.初始化 Repo
下面的表示下载全部源码文件
$ repo init -u https://android.googlesource.com/platform/manifest
这个下面表示下载指定的源码文件
$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1
当执行上面两个命令(在你的工作目录下执行)的时候会遇到问题
fatal: git 1.7.2 or later required
解决办法:
Ubuntu 10.04升级git 到1.7.2或更高的可行方法
$ sudo add-apt-repository ppa:git-core/ppa
$ sudo apt-get update
$ sudo apt-get install git
可以用命令git --version来查看你当前git的版本信息
9.获取源码文件
$ repo sync
执行这一步也许你会遇到问题,fatal: Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle。这个表示你网络连接不上,你可以反复执行这段代码。
当连接上后,也许还会遇到,需要你提交email地址和用户名,你根据系统给你的命令执行。在你的工作目录下执行上面的命令。
参考文献:
http://www.cnblogs.com/hoji-real/articles/2144892.html
http://www.360doc.com/content/10/1118/15/474846_70436251.shtml
http://wenku.baidu.com/view/2a18a5bb960590c69ec3763e.html
http://my.oschina.net/chengliqun/blog/118934
http://blog.csdn.net/xms0xms/article/details/8598470
http://www.cnblogs.com/hoji-real/articles/2144892.html