下载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 模块名
- 下载android的linux内核的方法
- 下载android的linux内核的方法
- linux内核的下载方法
- centos的linux内核源码下载方法
- 关于Linux 内核的下载
- Android 4.0 的Linux Kernel 下载方法
- Android的 linux内核
- 下载CentOS的Linux内核的源代码
- linux下 android内核原代码下载方法及步骤
- Debian下载内核源码的方法
- 下载Google内核源码的三个方法
- 升级Linux内核的方法
- 编译Linux内核的方法
- 编译linux内核的方法
- [linux]内核同步的方法
- linux 系统升级内核的方法
- Linux内核的下载和解压
- 通过Linux的tftp服务下载内核
- Linux多线程编程
- ERROR ITMS-9000: "Invalid Image Path - No image found at the path referenced under key 'CFBundleIcon
- 3个月Android应用开发者的血泪史
- Linux 性能监测:Memory
- Linux 性能监测:Network
- 下载android的linux内核的方法
- js自动计算给定日期所在周的周一与周日对应的日期
- 杭电OJ 1114:Piggy-Bank
- ExpandableListView的首次加载全部展开,并且点击Group不收缩
- 编写XML文档的时候可能犯的错误
- 为什么有人厌恶余额宝
- eclipse删除空行
- 黑马程序员——java基础学习(银行业务调度系统)
- axis2在was7.0上的报错问题