1、准备Android内核源码存放目录
在存放Android源码的根目录下,新建“kernel”目录,并且将当前目录,切换到“kernel”
2、选择你想要下载内核源码版本
笔者在下载源码时都是借鉴网上的例子,网上很多都是直接贴指令,很少详细讲解了指令的具体含义,为什么要这么做。所以导致自己走了一些弯路,现在详细给大家分享下经验。
首先要知道Android的所有源代码都已经将域名改为:https://android.googlesource.com ,所以网上那些写有从android.git.kernel.org获取源码的老文章的指令都不好用了。
读者要知道自己需要那个版本的内核源码,可以访问:https://android.googlesource.com ,打开网址后,你会看到网页很长,如果是新手的话,可以不用都看,使用快捷键 Ctrl + F 搜索“kernel”,可以看到一段 kernel/xxxx 的目录,如下图:
3、开始下载指定版本的内核源码
如果要下载模拟的源码则选择kernel/goldfish,别的版本的定义都在右侧有注释。读者可以自行选择。例如:笔者现在要下载模拟器用内核所有版本源码,则在终端中输入:
git clone https://android.googlesource.com/kernel/goldfish.git
终端中会打印
Cloning into 'goldfish'... remote: Counting objects: 162982, done remote: Counting objects: 2442007, done git clone https://android.googlesource.com/kernel/goldfish.gitReceiving objects: 15% (366302/2442007), 119.28 MiB | 1.25 MiReceiving objects: 100% (2442007/2442007), 499.15 MiB | 1.25 MiB/s, done. remote: Total 2442007 (delta 2047652), reused 2442007 (delta 2047652) Resolving deltas: 100% (2048534/2048534), done.显示100%之后则表示同步完成。此时goldfish下的所有内核版本的源码都已同步完成。
4、设定默认使用版本
进入到goldfish目录下,使用如下命令查看所有可用版本名称。
git branch -a
我的系统显示如下:
* android-2.6.29 master remotes/origin/HEAD -> origin/master remotes/origin/android-goldfish-2.6.29 remotes/origin/android-goldfish-3.4 remotes/origin/linux-goldfish-3.0-wip remotes/origin/master“*”指代的当前目录下默认的版本。PS:正常下载完后默认是“master”,但是笔者更改了默认,所以看到默认现在是“android-2.6.29”,下面将会介绍如何设定指定可用版本。
如果读者想设定“android-goldfish-2.6.29”为默认,则可以在终端中输入如下命令:
git checkout -b android-2.6.29 origin/android-goldfish-2.6.29
-b后面的android-2.6.29只是给后面的内核源码版本起了个自己定义的名字,方便自己查看而已,也可以不定义,不定义就会使用默认名称。此时,查看goldfish下的目录即为“android-goldfinsh-2.6.29”版本的模拟器内核源码。在goldfish目录下使用如下命令进行查看当前内核版本的名称。
git branch
笔者这里显示如下:
* android-2.6.29 master大功告成,笔者新手,欢迎大家拍砖留言。