ubuntu系统下安卓源码的下载
2015-12-11 09:09
507 查看
以前可以采用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
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
相关文章推荐
- eclipse中.project文件和.classpath文件详解
- 第十五周项目二-----用哈希法组织关键字之线性探测法
- 内网外网ip之间的通联关系
- 第十三周项目一:prim算法的验证
- 我
- 多维数组练习题
- 15 Which tasks are run automatically as part of the Automated Maintenance Task by default? (Choose a
- 为什么别人都不爱跟你聊天?
- Java之控制语句
- hadoop2.7.1使用dfs命令的错误(bin/hdfs dfs -mkidr input的错误)
- NOR-FLASH驱动文档(SST39VF1601)
- 程序猿都没对象,JS竟然有对象?<转>
- jQuery点击改变class并toggle及toggleClass()方法定义用法
- ios开发的设计模式
- 第十二周项目1-图基本算法库
- 【Codeforces Round 269 (Div 2)C】【暴力】MUH and Sticks 纸牌搭楼n张牌恰好搭楼数
- Spring MVC入门(4.1版本)
- 什么叫目标,什么叫事业,写得让我失眠!也送给我自己
- 什么叫目标,什么叫事业,写得让我失眠!也送给我自己
- 什么叫目标,什么叫事业,写得让我失眠!也送给我自己