下载android的linux内核的方法

来源:互联网 发布:淘宝客现在能赚到钱吗 编辑:程序博客网 时间:2024/05/16 06:49

1、安装git

       android的linux内核可以从http://android.git.kernel.org/下载,但下载需要使用git,windows版的git可以从http://code.google.com/p/msysgit/下载,有完全安装版和便携版(portable)两个版本可供选择,不常用git的话选portable版就可以了。

      下载portable版的git后,解压缩,然后运行git-bash,会出现一个console窗口。

2、android的kernel有多个部分,可根据需要运行以下命令下载需要的内容。

      在git的console窗口中执行以下命令即可下载内核:

    $ git clone https://android.googlesource.com/kernel/common.git  //这个是linux内核,也可以是git clone http://android.git.kernel.org/kernel/common,网上许多地方介绍的命令是git clone git://android.git.kernel.org/kernel/common,但现在似乎是不能用了。也可以登录https://android.googlesource.com/kernel/common.git 这个网址查看相关文件。

    $ 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


git clone获取比较大的源码时, 不能断点续传, 比较恼火.

 

可以使用 git fetch 解决:

     mkdir common

     cd common

     git init

     git fetch http://android.git.kernel.org/common.git

     传完后,

     git branch -a

     git checkout remotes/....

 

如果中间断掉了, 可以直接进入common目录, 继续git fetch就可以续传了.


3、checkout出对应的内核

   进入samsung目录

   $git branch -a    //列出所有可用的内核版本

   $git checkout  remotes/origin/android-samsung-3.0-ics-mr1   //checkout出想要使用的内核

如果要下载所有的android源文件,下载方法见http://source.android.com/source/downloading.html

 

补充:关于android安装开发过程中的需要的一些开发包,在终端执行以下命令:

          sudo apt-get install git-core gnupg valgrind flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev





Kernel 部分的源码没有采用repo 工具管理,可以直接通过git 工具下载,步骤如下。

 1 2 3 4 5 6 7 8 9101112
步骤1 进入Android 源码根目录。 笔者机器上的根目录是~/android/jellybean ,建立kernel  目录命令如下: cd ~/android/jellybean mkdir kernel cd kernel 步骤2 下载Kernel 源码。 读者可以在终端中执行以下任一条命令,下载Android Kernel 部分源码。这里选择 

common.git 通用版下载,其余是针对特定处理器的版本。

12345
$ git clone https://android.googlesource.com/kernel/common.git $ 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

1234567
步骤3 检出Kernel 3.0 分支。 由于Android  Jelly Bean 使用的是Linux 3.0 内核,所以还需要切换到Kernel 3.0 分支。 $ cd common     //进入common版内核的下载路径 $ git branch -a //查看都有哪些分支 $ git checkout remotes/origin/Android-3.0 //检出Kernel 3.0分支 

1.3.5 编译Android 上层系统源码

1
一般来讲,源码下载后就可以直接学习Android 源代码了。但这样无法调试源码,也无法 

得知源码编译后生成的文件是什么。所以这里继续讲解Android 源代码的编译流程,步骤如下。

123
步骤1 导入预设脚本。在终端中执行以下命令: allong@android:~/android/jellybean$ . build/envsetup.sh 

注意  . 后面有空格,“.”在 Shell 中是指令,使用方式是 “. filename”,作用是从 filename 中读取指

 1 2 3 4 5 6 7 8 910111213
 令并执行。读者也可以用 “source build/envsetup.sh”代替,作用是一样的。 步骤2 指定产品名和编译变量。在终端中执行以下命令:    allong@android:~/android/jellybean$ lunch You're building on Linux Lunch menu... pick a combo:     1. full-eng     2. full_x86-eng     3. vbox_x86-eng     4. full_stingray-userdebug     ……(省略部分内容)  Which would you like? [full-eng] 1  (输入1) 

注意  lunch 是 envsetup.sh 脚 本 中 提 供 的 函 数, 负 责 设 置 一 些 环 境 变 量, 比 如 TARGET_

1
 PRODUCT、TARGET_BUILD_VARIANT 等。 

   full 表示完全编译,eng 表示工程版。full-eng 对应模拟器设备。

12345
步骤3 编译全部源码。在终端中执行以下命令: allong@android:~/android/jellybean$ make -j8  (开启8线程开始编译) 编译全部源码十分耗时,但这也是必需的,只能等待。下一节将讲解如何编译指定模块。 

1.3.6 编译指定模块源码

1
实际开发中,并不需要每次都编译所有源代码,只需要编译自己修改的模块即可。 

Android 的编译系统提供了强大的机制支持单独模块的编译,而且十分简单。Android 提供三

种方式用于编译单独模块:
make 模块名


0 0
原创粉丝点击