ubuntu系统下安卓源码的下载
以前可以采用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系统下安卓源码的下载相关推荐
- 安卓源码AOSP下载使用的正确姿势
安卓源码AOSP下载使用的正确姿势 从同步源码到编译完成,整个过程应至少准备200G空间. 编译时需要的内存数与编译线程数相关,博主实测比较极限的配置是4核8G,超过这个范围将触发swap交换导致编译 ...
- mac 系统下android源码下载以及使用(总结)
曾经买了本android系统内核分析的书,看了一段看不懂,工作也忙,差不多两年过去了,感觉android水平需要提高一下,就装备把书看看,但是在网上找了一些文章,参考了官方的下载方式,最后都没有很好的 ...
- Ubuntu下lede源码的下载与编译
1.首先先配置lede源码编译环境 sudo apt-get update sudo apt-get upgrade sudo apt-get install build-esse ...
- UOS系统下FFmpeg源码编译安装及注意事项
条件 当前编译环境:国产UOS系统(基于linux),CPU是ARM架构 需要安装ffmpeg 3.4版本. 通过源码编译进行安装使用 下载源码 在github上将ffmpeg源码下载到本地:下载地址 ...
- 国内看安卓源码网站推荐
关键词:看安卓源码,Android源码 平时有很多技术网站介绍AMS,PMS,Handler,IntentService,livedata,workmanager,viewmodal等流程.其实看下安 ...
- WSL Ubuntu 20.04下Android源码下载
1. 开启WSL 右键开始菜单,打开任务管理器,选择性能选项卡,查看 CPU 虚拟化是否开启,如果没有开启,需要在 BIOS 中开启. 在 Windows 设置中搜索并打开"启用或关闭 Wi ...
- 安卓源码(一)下载与同步
推荐系统:基于Debian8的Linux发行版,ubuntu16.04,(因为安卓源码实在ubuntu下编译的,redhat系没有) 我使用的系统:Deepin15.3(ubuntu是debian8 ...
- WSL Ubuntu 20.04下Android源码编译与导入Android Studio
源码下载见前文:WSL Ubuntu 20.04下Android源码下载 idegen 模块编译 在development/tools/idegen/README下可以看到关于 idegen 工具的相 ...
- 下载安卓源码都干了什么?
闲来无事,想瞅瞅安卓wifi的框架是什么样子滴,就有了如下的记录 目录 1.准备linux系统 2.创建samba共享目录 4.下载源码 5.下载repo 6.同步代码 7.完成同步,开始阅读 1.准 ...
最新文章
- MySQL的登陆错误:ERROR 1049 (42000): Unknown database 'root'
- 在线用户管理--ESFramework 4.0 进阶(05)
- 运营私域流量转化没效果为什么?
- SpringBoot-Mail 发邮件(单发、群发、加附件、HTML格式)
- c++ websocket客户端_WebSocket协议详解与c++amp;c#实现
- VM中的Linux安装jdk和tomcat
- WPF学习笔记(6):DataSet更新后台数据库个别列失败的问题
- oracle oem打不开,oracle10g的oem打不开解决办法
- memsql 基本完全免费了
- mysqlbinlog恢复mysql表数据
- 绝地求生登录计算机需要授权,绝地求生计算机授权收不到怎么办 | 手游网游页游攻略大全...
- 将echarts图表数据导出成表格
- 《赵成的运维体系管理课》学习笔记(3)——云计算时代的运维实践
- vue+webpack5:If you want to include a polyfill, you need to
- Whistle 前端抓包
- MATLAB(一)——软件及基本操作介绍
- FC冒险岛java版_FC冒险岛经典版
- mysql 时间戳加减_mysql加减时间-函数-时间加减
- input的file类型的accept属性的值
- 如何找寻高质量免费机器人工程资源自学提升
热门文章
- 计算机技术创新型,面向企业需求的创新型计算机技术专业硕士胜任力模型研究.docx...
- Python金融股票和量化分析三方库汇总
- boxplot箱型图的离群点outlier和极端点extremes
- 计算机图形学基础1——MVP变换
- drf 获取域名+端口_如何注册域名(+简单提示可免费获取)
- 解决Vscode,按住Ctrl不能跳转定义的方法
- 虚拟现实技术人机工程解决方案
- 第三章 matlab学习入门之编程基础
- 渲染中的采样:从概率密度到图像处理
- Linux: 查看文件和文件夹大小的df和du命令