(一)、搭建编译环境
1. 查看linux编译环境软件版本
1.1 python版本$ python -V
1.2 make版本
$ make -v
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
这个程序创建为 x86_64-pc-linux-gnu
1.4 GIT
上面3个都是系统自带的,git没有随系统安装。安装命令 sudo apt-get intall git
2 安装JDK
安装与配置,详见
查看版本
$ java -version
java version "1.6.0_35"Java(TM) SE Runtime Environment (build 1.6.0_35-b10)
Java HotSpot(TM) 64-Bit Server VM (build 20.10-b01, mixed mode)
3. 安装需求包
$ sudo apt-get install git-core 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 openjdk-6-jdk 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
直接copy过来代码,在命令行中执行,总是不能按预期的那样当成一条命令执行,干脆直接把文档的布局和内容都copy过来
如果出现错误:
在处理时有错误发生:
libc6-dev:i386
E: Sub-process /usr/bin/dpkg returned an error code (1)
执行以下命令
sudo apt-get -f install
5. 配置ccahe
用于提高编译速度,也可以不安装
(二)、下载4.1.2源码
创建所需目录
$ mkdir ~/bin
$ PATH=~/bin:$PATH
一、下载repo工具,需使用代理(我使用的是goagent
$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
白天不行,晚上尽然就可以正常下载 。。。。
curl https://dl-ssl.google.com/dl/googlesource/git-repo
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 20774 100 20774 0 0 20765 0 0:00:01 0:00:01 --:--:-- 32870
二、 配置repo
1. 创建本地保存Android源码目录
$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY
2. repo初始化
选择下载那个版本的源码,打开以下网址可以看到Branches
先测试以下,如果上面的不行,可以使用下面的(后续命令也得改)
通过以下命令进行初始化,其中最后一个参数是从上一个网址中自己根据相应版本获取的Branches名称
$ repo init -u https://android.googlesource.com/platform/manifest -b
android-4.1.2_r1
需要输入用户名 和 邮箱地址
$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.1.2_r1
.repo/manifests/: discarding 10 commits
Your Name [YourName]: YourName
Your Email [YourName@YourName]: YourEmailAddress@mail.com
Your identity is: YourName <YourEmailAddress@mail.com>
is this correct [y/N]? y
Testing colorized output (for 'repo diff', 'repo status'):
black red green yellow blue magenta cyan white
bold dim ul reverse
Enable color display in this user account (y/N)? y
repo initialized in /home/YourName/WORKING_DIRECTORY
三、 下载源码
可以先设置代理
$ repo sync
温馨提示,可能需要几个小时
* repo配置使用代理
$ export HTTP_PROXY=http://<proxy_user_id>:<proxy_password>@<proxy_server>:<proxy_port>
$ export HTTPS_PROXY=http://<proxy_user_id>:<proxy_password>@<proxy_server>:<proxy_port>
$ export HTTPS_PROXY=http://<proxy_user_id>:<proxy_password>@<proxy_server>:<proxy_port>
* 网络设置,通常不需要使用
$ sudo sysctl -w net.ipv4.tcp_window_scaling=0
$ repo sync -j1
$ repo sync -j1
* 使用本地镜像
* 检验Git Tags
参考资料
android 官网文档 :
Downloading the Source Tree
(三)下载Android源码遇到问题
昨天晚上下载一夜,到今天早上还是没有完全下载完,而且还遇到了问题
From https://android.googlesource.com/platform/prebuilt
* [new branch] ics-plus-aosp -> aosp/ics-plus-aosp
f37f794..f6e5b79 jb-dev -> aosp/jb-dev
* [new branch] jb-mr0-release -> aosp/jb-mr0-release
f787b1d..1e1589a jb-release -> aosp/jb-release
* [new tag] android-4.1.1_r1 -> android-4.1.1_r1
* [new tag] android-4.1.1_r1.1 -> android-4.1.1_r1.1
* [new tag] android-4.1.1_r2 -> android-4.1.1_r2
* [new tag] android-4.1.1_r3 -> android-4.1.1_r3
* [new tag] android-4.1.1_r4 -> android-4.1.1_r4
* [new tag] android-4.1.1_r5 -> android-4.1.1_r5
* [new tag] android-4.1.1_r6 -> android-4.1.1_r6
* [new tag]