以前可以采用git clone方法下载Android单个目录源码的方法,但是目前Google对源代码的管理网站已经进行了更改,直接采用下载源代码已经失效。本文介绍了在Ubuntu下(在Windows下安装Cygwin,通过Cygwin也可在Windows里通过本文的下载步骤下载Android源码)获取目前最新的Android 4.4 全套源码以及单个自模块源码的下载方法,可根据本文方法下载全套或者只下载子模块Android源码进行源码分析和编译。下载过错中遇到很多问题,这些问题的解决对大家获取源密码很有借鉴意义。

Google源码的官方帮助页面:http://source.android.com/source/initializing.html,下载源码按照此页面介绍的步骤操作即可。

Android 4.4.4 发布下载 http://www.linuxidc.com/Linux/2014-06/103467.htm

最简单的Ubuntu Touch & Android 双系统安装方式 http://www.linuxidc.com/Linux/2014-01/94881.htm

在Nexus上实现Ubuntu和Android 4.4.2 双启动 http://www.linuxidc.com/Linux/2014-05/101849.htm

Ubuntu 14.04 配置 Android SDK 开发环境 http://www.linuxidc.com/Linux/2014-05/101039.htm

64位Ubuntu 11.10下Android开发环境的搭建(JDK+Eclipse+ADT+Android SDK详细) http://www.linuxidc.com/Linux/2013-06/85303.htm

Ubuntu 14.04 x64配置Android 4.4 kitkat编译环境的方法 http://www.linuxidc.com/Linux/2014-04/101148.htm

Ubuntu 12.10 x64 安装 Android SDK http://www.linuxidc.com/Linux/2013-03/82005.htm

下面简要介绍下下载的步骤和遇到问题的解决办法。

1、安装 Repo

a) 建立Repo的安装目录、配置环境变量

$ mkdir ~/bin

$ PATH=~/bin:$PATH

b) 获取Repo工具

$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo

问题:上面是Google制定的repo获取地址,但获取可能失败。

解决办法:网上有网友给出了替代的获取地址,如遇报错可用下面的地址替代:

curl "http://php.webtutor.pl/en/wp-content/uploads/2011/09/repo" > ~/bin/repo

2、建立并进入源码下载目录

$ mkdir WORKING_DIRECTORY

$ cd WORKING_DIRECTORY

3、初始化源码Repo下载地址  如是下载当前最新的代码,则:  repo init -u https://android.googlesource.com/platform/manifest

如是下载特定Android成熟版本分支的代码,则加上-b 参数,如当前最新发布的android 4.4分支代码:

repo init -u https://android.googlesource.com/platform/manifest -b android-4.4.1_r1

命令如顺利执行,期间将要求输入unsername和email,直接输入自己的自定义的用户名和email即可。

问题:在init过错中,可能会出现如下的443连接失败错误:

error: Failed connect to android.googlesource.com:443

解决办法:找到/etc/hosts文件,增加如下地址(如无法保存需要用root权限修改hosts文件的访问权限):

74.125.128.82    android.googlesource.com

74.125.31.82    www.googlesource.com

203.208.46.172    cache.pack.google.com

173.194.74.82  gerrit.googlesource.com

上面的地址可能会发生变化,保存前在终端用ping命令逐个ping各个域名的当前IP地址替换:  e.g.: ping android.googlesource.com

4、同步全套源代码  $ repo sync

问题:命令执行过程中可能会报错:  fatal: '../platform/abi/cpp.git' does not appear to be a git repository

fatal: The remote end hung up unexpectedly

error: Cannot fetch platform/abi/cpp  解决办法:  在init成功后下载的.repo目录下的manifest.xml里,找到fetch属性,并修改为:  fetch= "git://Android.git.linaro.org/"    repo sync命令在执行过程中一般不会一次性成功,中途可能超时或存在其他失败,此时只需再次执行repo sync即可,以前的记录会被缓存的。 5、同步子模块代码

repo syn命令是同步所制定分支的全套代码,但全套代码的执行过程很长,有时候也并不需要全套代码而只需要特定子模块的代码。

获取子模块的方法是在repo sync 命令后加上子模块的git节点目录名即可,例如想要获取Launcher3模块的源代码: repo sync packages/apps/Launcher3

各个子模块的节点目录查找方法:  在init成功后下载的.repo目录下的manifest.xml里,找到子模块的project 属性即可:

e.g. Launcher 3 的git目录:

...
  <project path="packages/apps/Launcher2" name="platform/packages/apps/Launcher2" />
  <project path="packages/apps/Launcher3" name="platform/packages/apps/Launcher3" />
  <project path="packages/apps/LegacyCamera" name="platform/packages/apps/LegacyCamera" />

转自 http://www.linuxidc.com/Linux/2014-08/105310.htm

ubuntu系统下安卓源码的下载相关推荐

  1. 安卓源码AOSP下载使用的正确姿势

    安卓源码AOSP下载使用的正确姿势 从同步源码到编译完成,整个过程应至少准备200G空间. 编译时需要的内存数与编译线程数相关,博主实测比较极限的配置是4核8G,超过这个范围将触发swap交换导致编译 ...

  2. mac 系统下android源码下载以及使用(总结)

    曾经买了本android系统内核分析的书,看了一段看不懂,工作也忙,差不多两年过去了,感觉android水平需要提高一下,就装备把书看看,但是在网上找了一些文章,参考了官方的下载方式,最后都没有很好的 ...

  3. Ubuntu下lede源码的下载与编译

    1.首先先配置lede源码编译环境 sudo apt-get update      sudo apt-get upgrade      sudo apt-get install build-esse ...

  4. UOS系统下FFmpeg源码编译安装及注意事项

    条件 当前编译环境:国产UOS系统(基于linux),CPU是ARM架构 需要安装ffmpeg 3.4版本. 通过源码编译进行安装使用 下载源码 在github上将ffmpeg源码下载到本地:下载地址 ...

  5. 国内看安卓源码网站推荐

    关键词:看安卓源码,Android源码 平时有很多技术网站介绍AMS,PMS,Handler,IntentService,livedata,workmanager,viewmodal等流程.其实看下安 ...

  6. WSL Ubuntu 20.04下Android源码下载

    1. 开启WSL 右键开始菜单,打开任务管理器,选择性能选项卡,查看 CPU 虚拟化是否开启,如果没有开启,需要在 BIOS 中开启. 在 Windows 设置中搜索并打开"启用或关闭 Wi ...

  7. 安卓源码(一)下载与同步

    推荐系统:基于Debian8的Linux发行版,ubuntu16.04,(因为安卓源码实在ubuntu下编译的,redhat系没有) 我使用的系统:Deepin15.3(ubuntu是debian8 ...

  8. WSL Ubuntu 20.04下Android源码编译与导入Android Studio

    源码下载见前文:WSL Ubuntu 20.04下Android源码下载 idegen 模块编译 在development/tools/idegen/README下可以看到关于 idegen 工具的相 ...

  9. 下载安卓源码都干了什么?

    闲来无事,想瞅瞅安卓wifi的框架是什么样子滴,就有了如下的记录 目录 1.准备linux系统 2.创建samba共享目录 4.下载源码 5.下载repo 6.同步代码 7.完成同步,开始阅读 1.准 ...

最新文章

  1. MySQL的登陆错误:ERROR 1049 (42000): Unknown database 'root'
  2. 在线用户管理--ESFramework 4.0 进阶(05)
  3. 运营私域流量转化没效果为什么?
  4. SpringBoot-Mail 发邮件(单发、群发、加附件、HTML格式)
  5. c++ websocket客户端_WebSocket协议详解与c++amp;c#实现
  6. VM中的Linux安装jdk和tomcat
  7. WPF学习笔记(6):DataSet更新后台数据库个别列失败的问题
  8. oracle oem打不开,oracle10g的oem打不开解决办法
  9. memsql 基本完全免费了
  10. mysqlbinlog恢复mysql表数据
  11. 绝地求生登录计算机需要授权,绝地求生计算机授权收不到怎么办 | 手游网游页游攻略大全...
  12. 将echarts图表数据导出成表格
  13. 《赵成的运维体系管理课》学习笔记(3)——云计算时代的运维实践
  14. vue+webpack5:If you want to include a polyfill, you need to
  15. Whistle 前端抓包
  16. MATLAB(一)——软件及基本操作介绍
  17. FC冒险岛java版_FC冒险岛经典版
  18. mysql 时间戳加减_mysql加减时间-函数-时间加减
  19. input的file类型的accept属性的值
  20. 如何找寻高质量免费机器人工程资源自学提升

热门文章

  1. 计算机技术创新型,面向企业需求的创新型计算机技术专业硕士胜任力模型研究.docx...
  2. Python金融股票和量化分析三方库汇总
  3. boxplot箱型图的离群点outlier和极端点extremes
  4. 计算机图形学基础1——MVP变换
  5. drf 获取域名+端口_如何注册域名(+简单提示可免费获取)
  6. 解决Vscode,按住Ctrl不能跳转定义的方法
  7. 虚拟现实技术人机工程解决方案
  8. 第三章 matlab学习入门之编程基础
  9. 渲染中的采样:从概率密度到图像处理
  10. Linux: 查看文件和文件夹大小的df和du命令