基于ubuntu12.04下下载android源码

一.安装Ubuntu12.04

我个人更喜欢在Windows进行开发,所以Ubuntu的安装选择的是Virtual Box4.1.16,具体的虚拟机安装Ubuntu的方法在这不赘述,唯一注意的一点就是硬盘存储映像开大些,我开的是60G,最好选择“动态分配存储”,因为在以后编译Android源码过程中会用到很大量的空间,空间不够编译会报错。

安装完Ubuntu之后,保证能连上Internet,否则以后的步骤都无法执行。

二.搭建环境

1.Java环境

按照网上的做法,大部分都是通过apt-get的方式来进行安装,我是没有成功,所以就直接用ubuntu自带的软件中心搜索Java,选择“OpenJDK Java 6 Runtime”,安装之。。PS : 建议使用版本6或者5的,版本7的会造成编译出错。

安装成功后可以通过在命令行里输入:

[plain] view plain copy
  1. java -version  

命令来查看版本号,如出现以下提示信息,则安装成功


2.添加需要的包

借鉴网上的方法。

64位系统:

[plain] view plain copy
  1. $ 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  
32位系统:
[plain] view plain copy
  1. $ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev libncurses5-dev x11proto-core-dev libx11-dev libreadline6-dev libgl1-mesa-dev tofrodos python-markdown libxml2-utils xsltproc  
我是32位系统,所以选择第二组命令,等其自动下载安装完成后即可。

3.下载repo

注意:网上很多做法是使用代理服务器下载,开始我试了,不仅没效果,反倒是请求服务器一直超时,最后我把设置代理的环境变量删了立马好用,网上的做法有点多此一举。也许是网络环境不一样吧,大家多试试。
    在用户目录下,创建bin文件夹,用于存放repo,并把该路径设置到环境变量中:

[plain] view plain copy
  1. $ mkdir ~/bin   
  2. $ PATH=~/bin:$PATH  
  下载repo的脚本,用于执行repo.

[plain] view plain copy
  1. $ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo   
  2. $ chmod a+x ~/bin/repo  

4.初始化一个repo的客户端

 创建一个空的目录,用于存放android源码。

PS:源代码的目录名称不要带空格,之前我的文件夹带空格所以导致编译没有通过。

我是用Nautilus在根目录下创建了 “AndroidDev”,并把用户和组都设置为自己经常使用的用户,拥有读写权限。

接着,在上面创建的目录下运行repo进行下载源码:

下载主线分支,主分支里面包含着最新修改的bugs,并未正式发出版本的最新源码。

[plain] view plain copy
  1. $ repo init -u https://android.googlesource.com/platform/manifest   

下载其他分支,正式发布的版本,可以通过添加-b的命令下载下来。

[plain] view plain copy
  1. $ repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1   
在下载过程中会需要填写Name及Email,填写完之后,选择Y进行确认。
最后,提示repo初始化完成在所在的目录下,这里也可以看到当前的目录下有一个隐藏文件.repo/ 这个文件里面设置着一些初始化的信息。

三.代码同步

执行以下命令
[plain] view plain copy
  1. $ repo sync  
(若出现了new branch 、new tag说明已经在正常的同步过程了)这时只需要等待其完成,这个同步的时间会很久,因为Android的代码全部下载下来了,也包括着其他的分支。整个源码大概会有16G左右,惟有等待了,但这个时候可以用来准备一下开发环境。
 

   下载一个漫长的过程,在下载的过程中,有可以会有中断的情况,这时需要重新的repo sync,进行继续的同步了。下载完成的最后,会有许多100%的下载成功的提示,


代码下载过程中,经常提示以下错误:

error: Failed connect to android.googlesource.com:443;Connection refused while accessinghttps://android.googlesource.com/a/platform/frameworks/base/info/refs

fatal: HTTP request failed

error: Cannot fetch platform/tools/motodev

error: Cannot fetch platform/frameworks/base

error: Cannot fetch platform/prebuilts/sdk

error: Exited sync due to fetch errors

解决方法:编辑/etc/hosts文件

$ vim /etc/hosts

增加下面内容,保存(提前保存好):

74.125.31.82 www.googlesource.com

74.125.31.82 android.googlesource.com

203.208.46.172 cache.pack.google.com

59.24.3.173cache.pack.google.com

然后重新输入

$ repo sync



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值