ubuntu12.04下载编译android4.0源码

       最近的项目需要使我不得不下载android源代码。从安装到下载完成折腾的死去活来的,从整个过程来看,

我还是建议大家用Ubuntu10.04去下载android源代码!不管是下载还是编译都会好很多。

       以下是我用Vmware0.9+Ubuntu12.04 (注:64位机---下载编译高版本的android必须是64位)下载和编译android的总结

1.首先打开官网

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

按照官网的Initializing a Build Environment说明中去做:


1.Python 2.6 -- 2.7  ----这个ubuntu自带的已经满足要求


2.GNU Make 3.81 -- 3.82  ----这个默认也是满足要求的。


3.JDK 6   --这个需要自己去安装配置

4.Git 1.7  --这个在Ubuntu中安装很方便。
sudo apt-get install git

以上四个条件重点说下第三个,如果你按照官方下面的去做得不到你要的结果
$ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
$ sudo apt-get update
$ sudo apt-get install sun-java6-jdk
这个是因为版权问题。这时候千万不要自作聪明直接在命令行里敲:java,然后sudo apt-get install去安装

这时候Ubuntu提醒你安装的是OpenJDK,这个并不是我们想要的,否则你到编译的时候会很痛苦。

最好的方法是自己下一个java SE1.6 for linux x64的JDK。然后手动去安装。一定是1.6的,不要以为版本高就好

个JDK1.7的。按照要求来。当时我就下了一个JDK1.7的,编译的时候直接报错。

这个链接是教你怎么在ubuntu12.04下安装JDK1.7:感兴趣的话可以了解下,没坏处。

http://blog.csdn.net/microfhu/article/details/7667393


下载源码的过程也是和官网的一样,但是有几个关键点。

执行:
repo sync
但是经常报错。

我尝试的解决办法:

1.修改~/bin/repo文件将第五行 其中红色标注的部分你的repo是什么就是什么。

REPO_URL='https://code.google.com/p/git-repo/'

改为

REPO_URL='http://code.google.com/p/git-repo/'

否则会出现error:Failed connect to code.google.com:443; Operation now in progress while accessing https://code.google.com/p/git-repo//info/refs

我是将自己repo的链接改为了https://code.google.com/p/git-repo,并没有完全按照第一条做。

2.然后向PATH中添加bin路径:

export PATH=$PATH:~/bin

3.新建一个目录,然后进入该目录。

mkdir myandroid

cd myandroid

4.执行repo init -u git://android.git.linaro.org/platform/manifest.git -b android-4.0.3_r1

这一步大概有一分多钟就完成了。

5.找到myandroid目录中的.repo下面的manifest.xml文件,该文件只是一个链接,实际上是manifest目录下面的default.xml文件,将

fetch="git://android.git.kernel.org/"

改为

fetch="git://android.git.linaro.org/"

我下载的时候fetch这个字段=“ ”,我依然按照这个方法修改成了这个链接git://android.git.linaro.org/

10.执行repo sync

OK大功告成!一会儿会叫你输入GMail帐号,接下来就可以闪人了。

其实是不能立马闪人的,更先别repo sync,为了不同步android源码时出现Exited sync due to fetch errors的问题

按照以下的步骤做

原因:

关于这个其实google是有说明的http://source.android.com/source/downloading.html ,为了防止连接数过多,每个ip都需要认证!!!!

第一步:从下面  获取用户名和密码

the password generator

第二步:将上面的页面上以machine开头的两行复制到  ~/.netrc文件中

第三步:repo init -u https://android.googlesource.com/a/platform/manifest  多了个“/a”

然后选择分支的时候在相应的位置也加上/a 就可以repo sync了


在同步的时候,Google会要求你填写名字和email,填写你的真实名字(拼音),email我填的是获取密码时的gmail地址


特别注意.netrc文件,如果没有的话就自己建一个,权限我是设置的777(由于参考资料上这一步不是很详细,索性就直接改为所有权限)



另外还有一个技巧是我打开了System监控,看CPU 和网络历史记录, 后者很关键,如果发现在 命令行里:fetch project  XX%

(XX/228)后也没报错,CPU

也在工作,光标也在闪,但是长时间网络历史记录的接受记录为0Kb/s。我建议你立刻终止,再次敲下repo sync命令,或者:

~/bin/repo sync命令。

repo sync是会在你断掉的地方接着同步的不用担心,最后如果工程下载完毕,repo也会校对各个目录。

下载就说到这里了。不出意外应该大家都能成功下载源码.....


编译的话:

大家就参照这个人的做就行了: http://www.cnblogs.com/xingfuzzhd/archive/2012/09/05/2672000.html   

我的建议,在编译之前仔细核对自己的编译环境是否满足条件,之后才是编译。与其编译过程中出错去改,不如按照作者列举出的错误,先改正后再去编译。最最隐秘的是,Ubuntu12.04编译源码的时候需要4G的RAM或者Swap空间,但是作者放到了最后面写了,如果不是及早发现,当你编译了很久才出现这个错误会让人很上火!

                                                                                    OK      Good Luck For everyone!


你可能感兴趣的:(ubuntu12.04下载编译android4.0源码)