1.创建一个目录
mkdir android23
2. cd android23
3. mkdir bin
4. google的repo地址已经改变了,使用旧地址下载的repo使用时会出现如下错误
【
./bin/repo: 行 1: 未预期的符号 `newline' 附近有语法错误 ./bin/repo: 行 1: `<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">'
】
使用以下地址下载
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > bin/repo
5. sudo chmod a+x bin/repo
6. bin/repo init -u https://android.googlesource.com/platform/manifest -b android-2.3.7_r1
----------------------- 此branch 可以在 http://source.android.com/source/index.html 网页中的 Build Numbers页面中查到。
7. bin/repo sync
将代码同步到本地
8. 如果下载的是4.0版,代码中包括了kernel代码。
我下载的是2.3的代码,没有包括kernel内容。需要单独下载。
网上大部分下载android kernel的教程都已过时好久了,下不到文件。在这儿个地方浪费了很长时间。
以为服务器地址更换了。
使用下面方法下载。
mkdir kernel
cd kernel
git clone https://android.googlesource.com/kernel/common
开始下载代码
在我下载的过程中,出现了
error: RPC failed; result=56, HTTP code = 2002 MiB | 123 KiB/s
再次重试就好了。
可以多尝试几次。
查看当前内核版本
cd common
$ 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/android-3.3
remotes/origin/master
$git checkout -b android-2.6.39 origin/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).
】