http://source.android.com Step 1.按照http://source.android.com/source/initializing.html配置好android编译环境

http://source.android.com/source/downloading.html配置好repo,大概步骤如下
    $ mkdir ~/bin 
  $ PATH=~/bin:$PATH
  $ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo 
  $ chmod a+x ~/bin/repo
  $ mkdir WORKING_DIRECTORY 
  $ cd WORKING_DIRECTORY
  以上命令不再解释,很简单很明白。
    
Setp 3.从其他镜像获取源代码
   如果要下载最新的源代码,则执行:
  $ repo init -u git://git.omapzoom.org/platform/manifest
    如果要获取每个tag,譬如2.3.5,则可以执行:
    $ repo init -u git://git.omapzoom.org/platform/manifest -b android-2.3.5_r1
  如果你不知道具体的tag叫什么名字,那么可以在浏览器访问http://git.omapzoom.org,并点击上面的/platform/manifest链接,那么可以看到所有的tag名称.
    执行repo init过程中,可能需要填写一些个人信息,直接填写即可。
    配置好repo后,执行repo sync即可下载你所需要的源代码了。

下载代码出错

  1. error: Failed to connect to 2404:6800:4005:c00::52: Network is unreachable while accessing https://android.googlesource.com/mirror/manifest/info/refs
  2. fatal: HTTP request failed

解决方法

1. 浏览器登录https://android.googlesource.com/new-password,并用gmail帐号登录;

2. 点击网页上的“允许访问”,得到类似

  1. machine android.googlesource.com login git-jacky.rg4.net password 1/dkRiGEvvC8o8Pgg-GsM2AbMNS_32-U0Pf0_VWkYogIA
  2. machine android-review.googlesource.com login git-jacky.rg4.net password 1/dkRiGEvvC8o8Pgg-GsM2AbMNS_32-U0Pf0_VWkYogIA

3. 把上面那段信息追加到~/.netrc文件结尾(请检查当前用户的权限, 如果不存在此文件则自己新建一个);

4. 下载地址的URI更改为https://android.googlesource.com/a/platform/manifest(中间加上了“/a”)。

5. repo init -u https://android.googlesource.com/a/platform/manifest -b android-4.0.3_r1

6. repo sync

即可拉下Android源码。

官方的说法是:因为访问基本是匿名的,为了防止连接过多(指内网/虚拟机),对同一IP地址的连接数做了一定的限制。看来是用gmail帐号进行认证。

这样的话,在公司网络内或者用虚拟机下载的话,会经常遇到这问题。

源码官网指导网址: http://source.android.com/source/downloading.html

查看Android源码版本

  1. $ grep PLATFORM_VERSION build/core/version_defaults.mk
  2. #     PLATFORM_VERSION
  3. #     PLATFORM_VERSION_CODENAME
  4. ifeq "" "$(PLATFORM_VERSION)"
  5. PLATFORM_VERSION := 4.1.2
  6. # SDK version the branch is based on and PLATFORM_VERSION_CODENAME holds
  7. ifeq "" "$(PLATFORM_VERSION_CODENAME)"
  8. PLATFORM_VERSION_CODENAME := REL
  9. ifeq "REL" "$(PLATFORM_VERSION_CODENAME)"
  10. DEFAULT_APP_TARGET_SDK := $(PLATFORM_VERSION_CODENAME)

断网时自动进行repo sync继续下载android源码

症状分析: 在Android源码下载时,经常会断掉,这时,就得重新输入repo sync,那么,有没有一种方法在断网时自动进行repo sync呢?

解决对策:

vi  repo_sync.sh

#!/bin/bash
repo sync
while [ $? -ne 0 ]
do
repo sync
done

ubuntu10.04 amd64 git版本升级,error: Exited sync due to gc errors

    1. ubuntu10.04出现error:Exited sync due to gc errors解决方法
    2. error: Exited sync due to gc errors 解决方法
    3. 原因: repo 升级,不兼容GIT  1.7.2 以下的版本。
    4. 升级git到 1.7.2以及以上的版本, 升级方法
    5. 增加ppa
    6. sudo apt-add-repository ppa:git-core/ppa
    7. sudo apt-get update
    8. sudo apt-get install git
    9. 如果本地已经安装过Git,可以使用升级命令:
    10. sudo apt-get dist-upgrade

下载android源码的更多相关文章

  1. 【Linux/Ubuntu学习6】unbuntu 下载android源码

    在Windows下安装Cygwin,通过Cygwin也可在Windows里通过本文的下载步骤下载Android源码. 以下为在Ubuntu下下载Google Android4.4源码的步骤: 1. 安 ...

  2. Windows平台下载Android源码(整理)

    Google官方下载源码使用的系统Ubuntu系统,不过现在我们需要在Windows系统中下载Android源码文件. 网站的地址是:https://android.googlesource.com/ ...

  3. 通过清华大学镜像下载Android源码并编译源码

    之前看源码都是在Windows下用SourceInsight看,虽然达到了研究源码的效果,但终究还是有遗憾...趁着周末,准备在Ubuntu虚拟机上下载编译源码. 之前下源码时,有了解一些Androi ...

  4. [Android] repo 下载Android源码(国内镜像)

    reference : http://blog.csdn.net/shenlan18446744/article/details/51490560 repo 下载Android源码(国内镜像) 下载r ...

  5. 转:Windows下载Android源码

    原文来自于:http://blog.csdn.net/hlf48641715/article/details/7188450 下载msysgit,安装 官方下载:http://code.google. ...

  6. (国内)完美下载Android源码Ubuntu版

    今天写的文章莫名奇妙的没了,所以再重新写一篇. 首先,为了方便起见,我已经将系统更换成里Ubuntu,因为官方推荐使用这个Linux发行版.先来一张系统的截图: Ubuntu的版本是16.04(推荐用 ...

  7. 如何下载android源码与android内核源码

    首先,要分清楚,android的源代码和android的内核代码一般是分开的,要分别进行下载. 1.先下载android的源代码.(这里不包括android的内核代码)      下载最新的源代码,一 ...

  8. 安装ubuntu16虚拟机,下载android源码,配置编译环境

    Android 源码编译步骤: 我考虑了一下,目前电脑装了SSD,8G内存,使用虚拟机编译源码应该够用. 首先下载虚拟机软件,由于最近一直在使用virtualbox,感觉蛮不错了,下载地址: http ...

  9. 快速下载android源码

    众所周知的原因,android源码被墙了,还好国内有不少镜像,这里使用清华提供的镜像. 以下内容转自: https://wiki.tuna.tsinghua.edu.cn/MirrorUsage/an ...

随机推荐

  1. 每日英语:The Benefits of a Sleep Buddy

    Stolen sheets, snoring and hot flashes are just some of the annoyances that lead a quarter of U.S. c ...

  2. Android.mk用法整理

    [时间:2016-05] [状态:Open] 输出消息 由于Android.mk使用的GNU Make的语法,可以方便的使用.ndk提供了一下三种格式的消息输出: error: debug print ...

  3. plot sin示意图(隐藏刻度,自定义刻度)

    plot sin示意图(隐藏刻度,自定义刻度) 隐藏坐标轴刻度 自定义坐标轴刻度 Code #!/usr/bin/env python # -*- coding: utf-8 -*- import n ...

  4. C# 中的await

    今天看代码遇到了很多await,梳理一下await的用法. await只针对awaitable对象,经常和Task一起使用,主要用法如下: var task = RunAsync(); //开始执行异 ...

  5. libevent简述

    libevent是一个轻量级的基于事件驱动的高性能的开源网络库,并且支持多个平台,对多个平台的I/O复用技术进行了封装,当我们编译库的代码时,编译的脚本将会根据OS支持的处理事件机制,来编译相应的代码 ...

  6. redis详细配置文件

    redis 单机版自己指定配置 #修改为守护模式 daemonize yes #设置进程锁文件 pidfile /usr/local/redis/redis.pid #端口 port 6379 #客户 ...

  7. 如何使用sendEmail发送邮件

    sendEmail是一个轻量级,命令行的SMTP邮件客户端.如果你需要使用命令行发送邮件,那么sendEmail是非常完美的选择:使用简单并且功能强大.这个被设计用在php.bashperl和web站 ...

  8. .net类中静态方法的继承

    父类中的静态方法,继承的子类能不能调用?一直在这里有疑惑,即使在下面的测试之后,也只是得到了结论,不明原理. class ClsParent { public static void ShowSth( ...

  9. Extjs js 产生Guid或者UUID

    Ext.data.IdGenerator.get('uuid').generate() 结果:a9c4efb8-06c9-4c2e-8a70-bb36a69e053e 更多介绍:http://docs ...

  10. 首部讲Python爬虫电子书 Web Scraping with Python

    首部python爬虫的电子书2015.6pdf<web scraping with python> http://pan.baidu.com/s/1jGL625g 可直接下载 waterm ...