Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3125314
  • 博文数量: 685
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 5303
  • 用 户 组: 普通用户
  • 注册时间: 2014-04-19 14:17
个人简介

文章分类

全部博文(685)

文章存档

2015年(116)

2014年(569)

分类: 嵌入式

2015-04-12 14:55:34

原文地址:http://blog.csdn.net/zbunix/article/details/8460422

国内被墙后如何获取android源代码

按照上的步骤并不能获取android源代码,估计又是被墙了。不过经过研究发现可以从一些镜像站点上获取android源代码

Step 1.按照配置好android编译环境
Step 2.按照配置好repo,大概步骤如下

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



下载代码出错


[html] view plaincopy
  1. error: Failed to connect to 2404:6800:4005:c00::52: Network is unreachable while accessing 
  2. fatal: HTTP request failed  


解决方法

1. 浏览器登录,并用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更改为(中间加上了“/a”)。

5. repo init -u -b android-4.0.3_r1

6. repo sync

即可拉下Android源码。

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

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

源码官网指导网址: 



查看Android源码版本


[plain] view plaincopy
  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

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


阅读(1787) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~