作者:张星

相信非常多下载过内核的人都对这个非常熟悉
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.csdn.net/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.csdn.net/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
漫长的等待
假设我仅仅想下载内核呢
非常easy,改动2.2提到的文件.repo/manifest.xml,把全部project标签都删除,再加入�
<project path="kernel/common" name="kernel/common" revision="android-2.6.39"/>

转载请注明出处:http://blog.csdn.net/pku_android

Android源代码下载方法具体解释相关推荐

  1. Android源代码下载过程及遇到的问题

    Android源代码下载与编译过程 1)下载repo脚本工具 curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o repo chmod ...

  2. Android源代码下载与编译 - 2019

    Android源代码下载与编译 - 2019 (基于Ubuntu 18.10,适用于国内环境) 下载repo工具 如果没有下载repo脚本工具,请到清华mirror下载 curl https://mi ...

  3. Unreal Engine源代码下载方法

    Unreal Engine源代码下载方法 UnrealEngine代码无法从github上直接下载,如果你直接使用github地址打开,Repositories中不会又unreal engine的相关 ...

  4. 【视频教程】老罗分享Android源代码下载和编译及如何分析源代码

    小编语:老罗(罗升阳)的Android之旅,在国内是让不少人收益,也给了我非常大的启示,老罗最近自己折腾了一个网站叫<进击的程序员>,域名:http://0xcc0xcd.com/,继续他 ...

  5. android源代码下载

    在使用android sdk manager下载android源代码的过程中,在下载的过程中碰到各种问题:(1)Download interrupted: Connection reset:(2)Do ...

  6. android源代码下载AE 文字样式,有了它,不会AE也可以用手机快速做出漂亮的文字动画——Legend#Android...

    在网上常常能看到很多好看的文字动画,好玩炫酷.比如下面这些: 上面5个动图均来自微博:@AfterEffects资源库 这些动图都是用电脑上的AE(Adobe After Effects)做的,我看网 ...

  7. android源代码下载AE 文字样式,阅读Android framework源代码方式

    阅读Android framework源代码方式 点击标题下「蓝色微信名」可快速关注 阅读源代码的方式有很多,这里只讲其中的两种方式. 一.AndroidXRef(强烈推荐) 这种方式速度快,操作简单 ...

  8. 【Android源代码下载】收集整理android界面UI效果源码

    在Android开发中,Android界面UI效果设计一直都是很多童鞋关注的问题,今天给大家分享下大神收集整理的多个android界面UI效果,都是源码,都是干货,贡献给各位网友! 话不多说,直接上效 ...

  9. Android源代码获得方法

    http://www.williamhua.com/2009/04/29/git-and-repo-for-dummies/ http://source.android.com/source/inde ...

最新文章

  1. 【python教程入门学习】用pyecharts绘制带动画效果的“时间轮播图
  2. kernel: make tags 时的告警修改
  3. 没抢到欧冠杯的票?没关系!在VR中看!
  4. PHP安装包中VC9和VC11的含义
  5. WayOs路由器WAN口帐号保存工具,可直接发送至邮箱,及保存接口VLAN号
  6. python报错defined_python问卷星报错NameError: name 'filename' is not defined
  7. 大屏监控系统实战(12)-10分钟投票增量曲线制作(一)
  8. Win-MASM64汇编语言-CALL/RET/RETF指令
  9. 119.杨辉三角II
  10. 能力提升综合题单 Part 8.7 图的连通性相关
  11. uploadify组件文件上传那些事
  12. Python代码混淆工具,Python源代码保密、加密、混淆
  13. 弹出框插件bootbox
  14. python无穷大怎么表示_python如何表示无穷大
  15. mp4 joiner linux,MP4Joiner怎么用?使用MP4Joiner快速合并多个mp4视频文件的方法介绍
  16. EcmaScript 2022中的新特性
  17. Linux以百万兆字节显示内存大小
  18. 【数据处理】xml的创建、读写问题
  19. Excel小技巧:合并单元格且不丢失数据
  20. python byte 和 list[int]互转(byte to list,list to byte,byte to int)

热门文章

  1. Forrester:建立企业数据库安全计划
  2. csrf-token
  3. [NOI 2017]整数
  4. 国内淘宝镜像 cnpm转npm
  5. 【Python图像特征的音乐序列生成】思路的转变
  6. ------------ 异常笔记
  7. Codeforces 681C:Heap Operations
  8. button-xml 中android:clickable=false 属性
  9. 工作中常用到的一些方法集合
  10. Asp.net Ajax AutoComplete 控件的用法