Linux下 使用Repo和Git下载Android源代码并编译
2014-06-23 15:34
501 查看
64bit ubuntu 12.10下使用repo和git来下载android源代码:
1。编译环境必须是64位的Linux系统。推荐使用ubuntu,建议版本号>=10.04。在ubuntu中执行以下命令安装必要的包:
如果是ubuntu12.04及更新版本,请执行:
2。新建你要保存Android源码的文件夹。例如我要存在home文件夹下bin文件夹里。在命令行中输入:
mkdir ~/bin
PATH=~/bin:$PATH
3。继续在Terminal中输入:
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod a+x ~/bin/repo
这时候在你的home文件夹下应该已经有一个bin文件夹,其中有一个repo文件。repo文件相当于一个批处理文件,极大地简化了git的使用。因为android系统的各部分都放在上百个不同的代码仓库里,若使用git clone <代码仓库地址> 命令下载每个仓库里的源代码,那么下载完所有的android源码可能要执行上百次git clone,而repo文件则将所有步骤变成了一个脚本文件了。我们目前只需要使用repo
sync命令将所有代码仓库里的master branch拷贝至本地即可。
4。通过cd ~/bin将Terminal定位到~/bin文件夹
5。在Terminal中(当前处于bin文件夹)输入以下命令,初始化repo。repo默认将下载所有代码仓库中的master branch:
1。编译环境必须是64位的Linux系统。推荐使用ubuntu,建议版本号>=10.04。在ubuntu中执行以下命令安装必要的包:
如果是ubuntu12.04及更新版本,请执行:
$ sudo apt-get install git gnupg flex bison gperf build-essential \ zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \ libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \ libgl1-mesa-dev g++-multilib mingw32 tofrodos \ python-markdown libxml2-utils xsltproc zlib1g-dev:i386 $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
2。新建你要保存Android源码的文件夹。例如我要存在home文件夹下bin文件夹里。在命令行中输入:
mkdir ~/bin
PATH=~/bin:$PATH
3。继续在Terminal中输入:
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod a+x ~/bin/repo
这时候在你的home文件夹下应该已经有一个bin文件夹,其中有一个repo文件。repo文件相当于一个批处理文件,极大地简化了git的使用。因为android系统的各部分都放在上百个不同的代码仓库里,若使用git clone <代码仓库地址> 命令下载每个仓库里的源代码,那么下载完所有的android源码可能要执行上百次git clone,而repo文件则将所有步骤变成了一个脚本文件了。我们目前只需要使用repo
sync命令将所有代码仓库里的master branch拷贝至本地即可。
4。通过cd ~/bin将Terminal定位到~/bin文件夹
5。在Terminal中(当前处于bin文件夹)输入以下命令,初始化repo。repo默认将下载所有代码仓库中的master branch:
$ repo init -u https://android.googlesource.com/platform/manifest[/code]
如果此步成功,应该会有提示:Repo is initialized in your working directory. 在~/bin文件夹内生成了.repo
隐藏文件夹
若想让repo下载指定的branch而非master,可执行:$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1
查看目前android所有branch列表:http://source.android.com/source/build-numbers.html
仔细看看~/bin/.repo/manifest.xml文件,里面列出了repo需要同步的所有project的信息。特别注意的是有一些project的group属性为“notdefault”。在仅使用repo
sync命令时,默认是不下载这些project的。
6。继续输入:repo
sync
这样就可以开始下载最新源码了。在中国大陆,网络连接常常不稳定,导致repo sync一半可能会失败。但repo sync具有一定的断点续传的功能,失败后隔一段时间(10分钟左右就好)重新运行repo sync即可。
7。开始配置Ccache编译缓存。将以下内容拷贝至/etc/profile中:export USE_CCACHE=1
并且在命令行中执行:source /etc/profile 以使该环境变量生效
接着将Terminal定位到源码文件夹下,执行:
prebuilts/misc/linux-x86/ccache/ccache -M 50G
8. 现在可以开始编译源码了
使用源码中的build/envsetup.sh配置编译所需环境$ source build/envsetup.sh
9.接着执行lunch
full-eng以明确我们待会儿编译的目标为emulator上的android系统。
如果你想编译能刷上真机的android系统,请参考:
http://source.android.com/source/building-devices.html
当然,目前能将编好的android系统刷上去的真机型号不多,只有Nexus几个系列罢了。
10. 一般直接输入make开始编译就好.(官网上有说明,如果使用make -jn(n为某个自然数)可以多线程编译,但我使用make -j4有时会产生意想不到的错误.固我一般只用make直接开始编译)make后会在源代码根目录下产生out文件夹,内有target和host两个子文件夹。target文件夹一般存放的是与手机端有关的make结果,host文件夹存放的是和pc端有关的内容。
相关文章推荐
- Linux下 使用Repo和Git下载Android源代码并编译
- Linux下 使用Repo和Git下载Android源代码并编译
- Linux下 使用Repo和Git下载Android源代码并编译
- Linux下 使用Repo和Git下载Android源代码并编译
- 使用git下载android源码 Git和Repo扫盲——如何取得Android源代码
- linux 下使用Git 下载代码、编译VLC 步骤
- Android系统源码编译之3---下载 ---- git 和 repo 使用
- Boost 下载安装编译配置使用指南(含Windows和Linux)
- Boost下载安装编译配置使用指南(含Windows和Linux)
- Boost下载安装编译配置使用指南(含Windows和Linux)
- GIT和repo使用方法,下载android-2.6.29内核
- GIT和repo使用方法,下载android-2.6.29内核
- Linux下MeeGo源码下载 — repo+git
- Android源码下载 ---- git 和 repo 使用
- 在Windows环境下使用Git下载Android源代码
- Linux下MeeGo源码下载 — repo+git
- Windows git和repo下载Android源代码
- 使用git和repo下载Android的源代码
- GIT和repo使用方法,下载android-2.6.29内核
- 【我的第一篇android博客】教育网中使用repo下载android源代码