android学习第一步就是代码下载,由于android代码实在很大,也集成了相当多开源项目的成果,虽然google整理过,但下载十几个G的代码还是一件麻烦的事情。
请注意,android源码和kernel源码是分开下载的,如果你需要统一下载,需要修改repo下的文件。
下载如果遇到问题,可以参考android官方文档:http://source.android.com/source/downloading.html
1. 源码下载
android是用git这个版本管理工具来管理的,google另外又写了repo这个工具来帮助使用。
1.1 确保必要的工具已经安装了
$ sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \
x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev \
libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \
libxml2-utils xsltproc
1.2 下载repo脚本
$ mkdir ~/bin
$ PATH=~/bin:$PATH
$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
这样,repo就下载到当前用户的根目录的bin目录下面了,其中PATH=~/bin:$PATH这句是临时把~/bin这个路径添加到系统的PATH环境变量中,是为了方便后面的访问。
最后一句是赋予repo可执行属性,一般我都是用chmod 777的
1.3 创建repo的客户端
$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY
$ repo init -u https://android.googlesource.com/platform/manifest
最后一步会让你输入名字和email地址。
成功之后,在WORKING_DIRECTORY目录下会出现一个.repo目录,在./repo/manifests/default.xml这个文件中,记录了需要下载的所有project,如果你删除一些project,则会少下载一些;如果你增加一些,则会多下载一些——比如,你可以增加kernel的project进去,代码就可以和kernel一起下载。
指出一下,这样默认下载的是master分支下的代码,如果需要下载其他分支的,需要使用如下的命令来取代相应的命令:
$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1
1.4 下载代码
$ repo sync
代码下载大概十几个G,所以需要很长时间,这个就取决于网速了。另外,由于种种不可抗力,google的这个地址常常被封掉,需要想办法绕过。你可以找一个代理,也可以找一个有专线可以下载的地方(很多大型外企有这个条件)。
2. kernel下载
内核的下载不需要repo这个工具,仅仅使用git的clone命令就可以了,不过一样面临地址被封需要绕过的问题。kernel代码大概600多M,比较小一点。
$ git clone https://android.googlesource.com/kernel/common.git kernel
命令行最后面的kernel的意思是保存在这个文件夹下,所以可以自行命名,系统会帮你创建出来的
当然,还有其他的内核可以下载,从字面上看,msm应该是针对高通芯片的,omap是针对TI芯片的,samsung是针对三星芯片,tegra则是nVidia公司的芯片。
$ 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
下载完了之后可以用ls命令看一下,是不是kernel没看到任何代码?试着运行一下git的列出分支命令
$ git branch -a,你会看到一系列分支,其中打*的分支是当前分支(刚下载完就是master啦),这个时候你切换一下分支,切换到你想要的分支代码就会出现了,我使用的是remotes/origin/android-2.6.39分支
最后一点,如果需要代码和kernel同时下载,在./repo/manifests/default.xml文件中增加如下语句:
<project path="kernel/common" name="kernel/common" revision="android-2.6.39"/>
转自:http://blog.csdn.net/sakulafly/article/details/8466702
分享到:
相关推荐
android x86内核源码part5 android x86内核源码part5 android x86内核源码part5
本文主要介绍Android源码的下载和编译,这里整理了相关资料及如何下载和编译的详细步骤,有需要的小伙伴可以参考下
Android Framework精编内核解析.pdf 百度网盘永久地址
GoogleSource 下载的goldfish 3.10内核源码,亲测可编译。为下载速度慢的同学贡献一下,顺便赚点下载积分,谢谢~由于上传大小限制,里面是一个文本,文本里面是下载地址。
android x86 内核源码android x86 内核源码part1 android x86 内核源码part1 android x86 内核源码part1
GoogleSource 下载的 4.4 goldfish内核源码,为下载速度慢的同学贡献一下,顺便赚点下载积分,谢谢~
全志系列芯片android与Linux内核WIFI驱动源码
经过一个多星期的努力,终于在零基础的情况下在ubuntu-12.04-desktop-amd64(64位Ubuntu系统)成功编译了android-4.0.3的
android x86内核源码part5 android x86内核源码part5 android x86内核源码part5
这个android kernel 是google发布android4.0时的内核,其实质是kernel3.0。由于网路的限制,我把他压缩的很少,方便自己上传和大家下载。
GoogleSource 下载的goldfish 3.18内核源码,亲测可编译。为下载速度慢的同学贡献一下,顺便赚点下载积分,谢谢~
android x86内核源码part4 android x86内核源码part4 android x86内核源码part4
Android4.0内核源代码,自己用Get获取的Android4.0内核源代码,需要的朋友自己拿去研究。
这里是最近最新的android的内核与源代码的全部内容,共三个包,由于,在linux终端下载android源代码总是失败导致很多人丧失了学习android的热情,所以这对很多人可能是很有用的。我的这三个包分别是 kernel-3.4_3.tar...
GoogleSource 下载的 4.14 goldfish内核源码,为下载速度慢的同学贡献一下,顺便赚点下载积分,谢谢~
Ubuntu-32位机安装编译Android2.3源码及内核,启动模拟器器,及生成SDK等。及编译过程中遇见相关问题解决
在Ubuntu上下载、编译和安装Android最新内核源代码
拨云见日——基于 Android 的内核与系统架构源码分析,拨云见日——基于 Android 的内核与系统架构源码分析
Google官方给的Android源码下载目录是关于ARM的,关于X86-Android源码的下载已经在之前的文档中说明了,由于我公司做的是定制Android系统,在X86架构上,所以有关文档是针对x86架构的。希望对你学习android的移植有...
android x86 内核源码part3 android x86 内核源码part3 android x86 内核源码part3