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 4.4内核:goldfish源码剖析》 Android 4.4,也被称为KitKat,是Android操作系统的一个重要版本,它在性能优化和用户体验上都有着显著的提升。在这个版本中,内核升级至4.4,其中goldfish是一个...
首先,要下载Android源码,你需要一个Linux环境,因为官方的构建工具链和文档主要针对这个平台。Ubuntu是最常见的选择,但其他基于Debian的发行版也可以。确保你的系统安装了必要的依赖项,如Git、Repo、Java JDK...
在Ubuntu系统下,Android源码的下载和编译是一个复杂的过程,涉及到多个步骤和依赖工具的安装。首先,为了能够顺利进行源码下载,我们需要确保系统环境满足要求。本教程中,使用的系统环境是Ubuntu 14.04 LTS,并且...
android x86内核源码part5 android x86内核源码part5 android x86内核源码part5
Android源码则指的是构成Android操作系统的基础代码集合,它基于Linux内核并由Google主导开发。下载并编译Android源码可以让我们深入了解其工作原理,进行自定义修改,或为特定设备创建定制固件。 ### Ubuntu下...
《Android Framework精编内核解析》是一本深入探讨Android系统核心框架层的专著,它主要涵盖了Android系统架构的关键组成部分,旨在帮助读者理解和掌握Android应用开发背后的机制。在这个压缩包中,包含了一份名为...
这个资源是自google发布android4.0时带的是android3.0的内核。 android kernel3.0内核下载(一)
《Android Goldfish内核3.18源码详解与编译指南》 Android Goldfish内核是Android系统中用于模拟器环境的一个关键组件,它基于Linux内核,并针对虚拟化进行了优化,使得开发者可以在宿主机上模拟Android设备的硬件...
首先,你需要从Android源码仓库获取Android-x86的源码。虽然Google官方提供的源码主要针对ARM架构,但Android-x86项目提供了专门针对x86架构的源码分支。在获取源码后,你将在源码树的根目录下找到构建所需的文件和...
Android Framework精编内核解析.pdf 百度网盘永久地址
本文将聚焦于Android 8.0(代号Oreo,版本号26)的源码下载与解析,帮助开发者更好地了解其内部机制和优化应用程序。 首先,Android 8.0的源码下载主要通过Android开放源代码项目(AOSP)进行。访问官方网站<https:...
Android源码下载是Android开发人员深入理解系统工作原理和进行定制化开发的重要步骤。源码提供了Android操作系统的底层实现,包括Linux内核、HAL层、框架层以及应用程序接口。了解如何下载Android源码对于开发者来说...
Android 源码是一个非常庞大的项目,它包含了操作系统的所有代码,包括内核、驱动程序、框架、应用程序等等。通过下载 Android 源码,我们可以更好地理解 Android 的工作原理,并可以基于 Android 源码进行二次开发...
GoogleSource 下载的goldfish 3.10内核源码,亲测可编译。为下载速度慢的同学贡献一下,顺便赚点下载积分,谢谢~由于上传大小限制,里面是一个文本,文本里面是下载地址。
在Android开发领域,掌握如何下载和理解Android源码是至关重要的步骤,这有助于开发者深入了解系统工作原理,定制个性化ROM,或者进行系统级别的调试和优化。本文将基于提供的"Downloading the Source - Android ...
《深入剖析Android Chromium浏览器源码》 Android Chromium是一款开源的浏览器项目,它是Google Chrome浏览器在Android平台上的核心组件。此源码提供了深入了解Android应用程序开发、Web浏览技术以及Chrome浏览器...
全志系列芯片在Android和Linux内核中的WIFI驱动源码是嵌入式系统开发中的重要组成部分,尤其对于基于全志处理器的设备来说,理解并掌握这些驱动代码有助于优化网络性能,解决硬件兼容性问题,以及进行定制化开发。...
Android源码是整个操作系统的核心,包含了系统内核、框架层、库和应用程序接口等各个层面的代码。通过获取源码,开发者可以深入理解Android的工作原理,定制化系统,修复bug,或开发新的功能。 下载Android源码需要...
【Android腾讯X5内核Demo】是一个用于展示和学习如何在Android应用中集成和使用腾讯X5内核的示例项目。X5内核是腾讯为优化移动浏览器和Webview性能而开发的一款高性能、轻量级的浏览核心,它基于开源的WebKit并进行...
本文将深入探讨如何使用"安卓logcat输出内核日志android studio工程源码"来收集和分析内核日志信息。我们将讨论以下几个核心知识点: 1. **logcat工具**:logcat是Android系统内置的一个命令行工具,用于捕获和显示...