Android源码下载方法详解

【Android 源码】Android源码下载指南 这是关于Android源码下载的过程记录。环境:Windows上通过VMware安装的Ubuntu系统。 阅读详情
作者:张星 

相信很多下载过内核的人都对这个很熟悉
git clone git://android.git.kernel.org/kernel/common.git kernel
但是这是在以前,现在如果这么执行的话,会显示如下内容
Initialized empty Git repository in /home/star/working/kernel/.git/
android.git.kernel.org[0: 149.20.4.77]: errno=Connection refused
fatal: unable to connect a socket (Connection refused)
通过浏览器输入http://android.git.kernel.org/,发现该网站已经被重定向为http://source.android.com/source/downloading.html
可以在该页面的最后发现内核的下载方法。

 

下面我们介绍一下Android源码下载的步骤。

工作环境:

操作系统:Ubuntu 10.04   或  Ubuntu10.10

git程序 :1.7.0.4  或 1.7.1

转载请注明出处:http://blog.youkuaiyun.com/pku_android

方法一:
1.1 初始化安装环境
参考网页http://source.android.com/source/initializing.html
主要要做的就是安装jdk和安装一些软件包
$ sudo apt-get install git-core gnupg flex bison gperf build-essential \
  zip curl zlib1g-dev libc6-dev libncurses5-dev x11proto-core-dev \
  libx11-dev libreadline6-dev libgl1-mesa-dev tofrodos python-markdown \
  libxml2-utils
如果已经安装了,就不许要这步了

1.2 无论下载内核和源码,都需要进行如下操作
参考网页http://source.android.com/source/downloading.html
$ 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

1.3 内核下载
$ git clone https://android.googlesource.com/kernel/common.git kernel
命令行最后面的kernel的意思是保存在这个文件夹下,所以可以是任何名字,该文件夹不需要自己去创建,最后的这个不写也没问题
如果想下载其他版本的内核
$ git clone https://android.googlesource.com/kernel/goldfish.git
$ git clone https://android.googlesource.com/kernel/msm.git
$ git clone https://android.googlesource.com/kernel/omap.git
$ git clone https://android.googlesource.com/kernel/samsung.git
$ git clone https://android.googlesource.com/kernel/tegra.git
下载过程中,会有如下信息,速度快慢取决于网速了。
Initialized empty Git repository in /home/star/kernel/kernel/.git/
remote: Counting objects: 40, done
remote: Counting objects: 2073952, done
remote: Finding sources: 100% (208/208)
remote: Getting sizes: 100% (88/88)
remote: Compressing objects: 100% (2/2)
remote: Total 2073863 (delta 1735363), reused 2073862 (delta 1735363)
Receiving objects: 100% (2073863/2073863), 427.93 MiB | 318 KiB/s, done.
Resolving deltas: 100% (1735382/1735382), done.
在我下载的过程中,出现了如下问题
error: RPC failed; result=56, HTTP code = 2002 MiB | 23 KiB/s
到现在我也不清楚是由于什么原因导致的,猜测
1.1中所说的事情,都做了吗?我发现有一些安装包尚未安装,安装之。
或者,可能是网络问题,重复执行一下,会发现并不是在同一个地方出现这个问题的,说不定哪次就成功了
或者,用别人的电脑下载一下(虽然方法是我发现的,可是并不是我第一个下载成功的,我遇到了RPC failed,后来让同学尝试,成功,之后我也尝试了,在把所需要的安装包都安装后,也成功)

1.4 更换内核版本
由于在1.3中我写的是kernel,这是可以看到当前目录下出现了一个kernel文件夹
$ cd kernel/
$ ls
发现没有任何内容
查看当前内核版本,master,不知道是什么意思
$ git branch
* master
查看所有可用内核版本
$ git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/android-2.6.39
  remotes/origin/android-3.0
  remotes/origin/master
可以看到目前只提供了少数的版本,只有2.6.39和3.0,比如我要下载2.6.39
$ git checkout -b android-2.6.39 origin/android-2.6.39
Switched to a new branch 'android-2.6.39'
该命令的android-2.6.39指的是分支的名字,其实是可以随便取的,关键是origin/android-2.6.39,要对应git branch -a命令显示的remotes后面的内容
完成后,查询当前分支
$ git branch
* android-2.6.39
  master
$ ls
arch     Documentation  init     lib          README          sound
block    drivers        ipc      MAINTAINERS  REPORTING-BUGS  tools
COPYING  firmware       Kbuild   Makefile     samples         usr
CREDITS  fs             Kconfig  mm           scripts         virt
crypto   include        kernel   net          security
会看到突然出现很多文件夹,这就是内核了
由于误操作
比如$ git checkout -b android-2.6.39 origin/android-2.6.39,只是输入$ git checkout -b android-2.6.39,这时,会得到一个空的分支
$ git branch -a
* android-2.6.39
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/android-2.6.39
  remotes/origin/android-3.0
  remotes/origin/master
如果再次执行
$ git checkout -b android-2.6.39 origin/android-2.6.39
fatal: git checkout: branch android-2.6.39 already exists
一种方法,就是给把-b后面的android-2.6.39改为其他名字,但是这个有问题的分支android-2.6.39还是会存在的
查看$ git branch --help,找到分支删除的命令
$ git branch -D android-2.6.39
error: Cannot delete the branch 'android-2.6.39' which you are currently on.
需要切换分支,假设也存在android-3.0,当然也可以切换为master或者其他存在的分支,$ git branch -a查看分支
$ git checkout android-3.0
Checking out files: 100% (37131/37131), done.
Switched to branch 'android-3.0'
$ git branch -D android-2.6.39
Deleted branch android-2.6.39 (was fe8bf45).

转载请注明出处:http://blog.youkuaiyun.com/pku_android

方法二
2.1 参考1.1和1.2

2.2 类似于下载Android源码的过程,先执行如下命令
$ repo init -u https://android.googlesource.com/platform/manifest
在这一步还需要用到gmail的邮箱
在下载Android源码的过程中,并不会下载kernel,那怎样才能既下载源码,又下载kernel呢
参考网页http://elinux.org/Android_Kernel_Download
 a kernel git tree并没有被默认的Android manifest file引用
既然没有引用,那就加上它
修改.repo/manifest.xml(目前的目录为1.2中已经建立的WORKING_DIRECTORY)
$ vim .repo/manifest.xml
加上这条语句
<project path="kernel/common" name="kernel/common" revision="android-2.6.39"/>
位置我觉得和其它的project选项并列即可。
版本号参考1.4,可能只能下载2.6.39和3.0

2.3 下载源码和内核
$ repo sync
漫长的等待
如果我只想下载内核呢
很简单,修改2.2提到的文件.repo/manifest.xml,把所有project标签都删除,再添加
<project path="kernel/common" name="kernel/common" revision="android-2.6.39"/>

 

转载请注明出处:http://blog.youkuaiyun.com/pku_android

 

 


 

Android12 源码下载、编译、刷机、单编调试Framework 由于在国内使用 Google 的官方下载站点,会有下不动的情况,有时候 .repo 都下载不下来,所以本教程是以国内的镜像站点为例子,如果你有方法可以爬墙,那么可以简单参考 官方的教程 https://source.android.google.cn/source/downloading。代码下载完成之后,我们先不着急编译,如果要想在真机上跑,需要下载一些厂商闭源的驱动文件,这样后续编译的代码才可以跑到真机上,此处对应的。直接下载的代码使用的是 master 分支,驱动程序需要在这里下载。 阅读详情

相关推荐

Android 源码下载(详细版)

经典好文推荐,通过阅读本文,您将收获以下知识点:一、下载AOSP前的准备二、国内网络下 clone 清华大学开源软件镜像三、编写Python脚本,开始下载android-10.0.0_r40 源码四、源码下载工具包五、参考文献。

轻描时光 1966

Window下载Android源码

想要研究Android 源码的同学可以用此方法进行下载。源码从下载。使用Linux的同学直接参照清华镜像站提供的即可,本文主要介绍在window平台下进行源码下载。

Zhang_YingJie的博客 3247

基于人脸识别的智能门禁系统设计

在当前的技术背景下,本文精心打造了一款前沿的视频识别门禁控制系统。在进行调试的时候使用的软件是Keil,编写完代码,生成文件后用下载器下载到单片机上,就能够进行程序的调试了,本次设计实现了预先设定的目标,达到了预期的效果。本次设计的人脸识别的门禁控制系统其硬件部分是以STM32F103C8T6为核心的单片机,采用0V2640摄像头对人员的人脸识别,采用矩阵按键对系统的操作以及密码的输入,使用蜂鸣器来作为报警模块,开门装置是电子锁控制,显示设备采用OLED液晶显示,无线模块在一番思索后选择了蓝牙模块传输。

2401_86147581的博客 1296

Android源码下载方法详解_android源码的下载

Repo是我们在Git之上构建的一个工具。Repo帮助我们管理许多Git存储库。Repo并不是要取代Git,只是为了在Android环境下更容易使用Git。repo命令是一个可执行的Python脚本,您可以将其放在路径中的任何位置。

2401_85384645的博客 1068

深入解析JESD204B Periodic SYSREF在多ADC/DAC系统中的同步优化策略

本文深入探讨了JESD204B Periodic SYSREF在多ADC/DAC系统中的同步优化策略,针对雷达阵列和宽带通信系统中的同步精度问题,详细解析了硬件实现细节、参数配置实战经验及系统级优化方法。通过案例分析和技术要点,帮助工程师解决由温度漂移和时钟抖动引起的同步挑战,提升系统性能。

weixin_29267307的博客 137

跟着Cell学单细胞转录组分析(五):单细胞转录组marker基因鉴定及细胞群注释

书接上回(跟着Cell学单细胞转录组分析(四):单细胞转录组测序UMAP降维聚类)。完成数据降维和细胞聚类后,最主要的环节和工作就是确定各个细胞群,明确是什么类型的细胞,正群的细胞定群很关键,涉及到整个研究,所以这一步宁愿多费时间,也不要出错。当然,这也不是一蹴而就的,需要反复的确认。 要确定各个群是什么细胞,首先需要了解细胞群的marker基因,因为不同类型的细胞突出 表达的基因也是不同的。这里使用FindAllMarkers鉴定各个细胞群的高表达基因。 DefaultAssay(scedata)

qq_42090739的博客 1万+

android oracle 源码,Android: Android源码下载方法详解

安卓源码下载地址:相信很多下载过内核的人都对这个很熟悉git clone git://android.git.kernel.org/kernel/common.git kernel但是这是在以前,现在如果这么执行的话,会显示如下内容Initialized empty Git repository in /home/star/working/kernel/.git/android.git.kerne...

weixin_39757743的博客 166

基于51单片机的校园一卡通系统(仿真)

本次设计利用LCD1604设计可视化界面,矩阵按键执行交互,继电器模拟门的开关,系统集成考勤系统、门禁系统、消费系统、充值系统。同时利用LED灯、蜂鸣器进行指示,方便用户查看状态。

MGT_9796的博客 1549

Android: Android源码下载方法详解

安卓源码下载地址:http://source.android.com/source/downloading.html 相信很多下载过内核的人都对这个很熟悉 git clone git://android.git.kernel.org/kernel/common.git kernel 但是这是在以前,现在如果这么执行的话,会显示如下内容 Initialized empty Git repos

zhanzheng520的专栏 2080

uniapp - 实现安卓App打包上架应用商店详细教程,详解Hbuilder打包编译apk发布上传到应用市场全流程,提供uniApp云打包、离线打包app、原生本地打包,附带APP备案和安卓证书申请

uni-app,安卓,APP,应用商店,打包编译apk,上架到应用市场,如何打包app并发布到主流应用市场,发布为AndroidApp流程,应用备案,如何申请安卓证书,hbuilder发布安卓apk后怎么上传到各家软件商店,创建app证书,uniapp发行原生APP本地打包安卓APK,详细最全的步骤教程,项目打包成apk,云打包,安心打包,安卓app离线打包,一直审核不通过,被拒绝,不符合规范,上架发布失败,申请安卓证书和获取证书信息,uni-app打包发布安卓Android软件到各大应用商店,腾讯应用

🏆 前端领域优质创作者 1万+

北斗导航 | 卫星信号捕获跟踪原理解析

卫星信号的捕获与跟踪是导航接收机的"眼睛",其性能直接决定定位精度、动态适应性和抗干扰能力。随着北斗三号全球组网完成,新一代接收机正朝着。两大核心阶段,二者共同构成定位的基础。调制,频谱主瓣宽度达4.092MHz,较传统BPSK调制抗干扰能力提升3dB[38]。的目标持续演进,在自动驾驶、精密农业等领域展现出巨大应用潜力。二维空间中搜索峰值相关能量[4]。卫星导航接收机对信号的处理可分为。北斗三号B1C/B2a信号采用。北斗三号新增的B1C信号采用。

尘世冰封的专栏 773
上一篇: Android常见的专业名词及术语解释
下一篇: 01_Android应用开发环境搭建【图解】
pku_android
博客等级 码龄15年 450粉丝 151原创
评论 12
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值