Get Android Source Code

for detailed information, refer to Android Open Source Project ---> Get source

  • 系统环境: Ubuntu 9.10, Kernel 2.6.31-14-generic, i686
  • 网络环境: 学生公寓B区 中国电信宽带接入
  • Date: 12/12/2009

安装必要的软件包

  • 安装git-core, gnupg, sun-java5-jdk, flex, bison, gperf, libsdl-dev, libesd0-dev, libwxgtk2.6-dev, build-essential, zip, curl, libncurses5-dev, zlib1g-dev

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

本机当前源没有Package: sun-java5-jdk,为安装sun-java5-jdk,将当前源替换为以下Ubuntu 9.04的源

deb http://run.hit.edu.cn/ubuntu/ jaunty main restricted universe multiverse
deb-src http://run.hit.edu.cn/ubuntu/ jaunty main restricted universe multiverse
deb http://run.hit.edu.cn/ubuntu/ jaunty-updates main restricted universe multiverse
deb-src http://run.hit.edu.cn/ubuntu/ jaunty-updates main restricted universe multiverse
deb http://run.hit.edu.cn/ubuntu/ jaunty-backports main restricted universe multiverse
deb-src http://run.hit.edu.cn/ubuntu/ jaunty-backports main restricted universe multiverse
deb http://run.hit.edu.cn/ubuntu/ jaunty-security main restricted universe multiverse
deb-src http://run.hit.edu.cn/ubuntu/ jaunty-security main restricted universe multiverse

然后

$ sudo apt-get update
$ sudo apt-get install sun-java5-jdk

安装sun-java5-jdk后,换回Ubuntu 9.10的源。 若希望系统使用sun-java5-jdk,首先获得root权限并使用命令

# update-alternatives --config java

然后,选择"/usr/lib/jvm/java-1.5.0-sun/jre/bin/java"这一项,使系统使用sun-java5-jdk。 可以用命令

$ java -version

查看系统当前使用的java版本

  • 安装Valgrind: a tool that will help you find memory leaks, stack corruption, array bounds overflows, etc.

    $ sudo apt-get install valgrind
  • 安装新版libreadline

    $ sudo apt-get install lib32readline5-dev

本机源无此Package, and Android Open Source Project says: 'Intrepid (8.10) users may need a newer version of libreadline'. 在网上只搜到了用于amd64平台的lib32readline5-dev.deb包。 这里有readline5的源代码,可以编译出lib32readline5-dev,有兴趣的可以试一下。笔者目前没有装lib32readline5-dev。(但是,可以使用$sudo
apt-get install libreadline5-dev 安装libreadline5-dev。它与lib32readline5-dev 一样?笔者装了libreadline5-dev,目前不知道这是干嘛用的。)

安装Repo

For more information about Repo, see Using Repo and Git.

  • 在用户主目录新建bin目录。

    $ cd ~
    $ mkdir bin
  • 将该目录添加进PATH环境变量(在~/.bashrc末添加一行"PTAH=$PATH:$HOME/bin",重新开个终端即可)
  • 下载Repo脚本(下载完后可以用编辑器打开这个脚本爽一下)
    $ curl http://android.git.kernel.org/repo >~/bin/repo
  • 给Repo脚本加上可执行权限
    $ chmod +x ~/bin/repo

初始化Repo客户端

输入

$ cd ~
$ mkdir yangdroid; cd yangdroid

下载Repo,下列命令将在"下载Android源码阶段"下载Android master version

$ repo init -u git://android.git.kernel.org/platform/manifest.git

下载其他版本的Android用-b选项,如

$ repo init -u git://android.git.kernel.org/platform/manifest.git -b cupcake

在提示符后输入用户名和Email(推荐使用gmail)。

下载Android源码

输入

$ repo sync

下载完后,Android源码将存放于~/yangdroid目录。

Verifying Git Tags

输入

$ gpg --import

粘贴下列Key至终端,回车并按Ctrl-D将Key导入GnuPG key database。

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.2.2 (GNU/Linux)

mQGiBEnnWD4RBACt9/h4v9xnnGDou13y3dvOx6/t43LPPIxeJ8eX9WB+8LLuROSV
lFhpHawsVAcFlmi7f7jdSRF+OvtZL9ShPKdLfwBJMNkU66/TZmPewS4m782ndtw7
8tR1cXb197Ob8kOfQB3A9yk2XZ4ei4ZC3i6wVdqHLRxABdncwu5hOF9KXwCgkxMD
u4PVgChaAJzTYJ1EG+UYBIUEAJmfearb0qRAN7dEoff0FeXsEaUA6U90sEoVks0Z
wNj96SA8BL+a1OoEUUfpMhiHyLuQSftxisJxTh+2QclzDviDyaTrkANjdYY7p2cq
/HMdOY7LJlHaqtXmZxXjjtw5Uc2QG8UY8aziU3IE9nTjSwCXeJnuyvoizl9/I1S5
jU5SA/9WwIps4SC84ielIXiGWEqq6i6/sk4I9q1YemZF2XVVKnmI1F4iCMtNKsR4
MGSa1gA8s4iQbsKNWPgp7M3a51JCVCu6l/8zTpA+uUGapw4tWCp4o0dpIvDPBEa9
b/aF/ygcR8mh5hgUfpF9IpXdknOsbKCvM9lSSfRciETykZc4wrRCVGhlIEFuZHJv
aWQgT3BlbiBTb3VyY2UgUHJvamVjdCA8aW5pdGlhbC1jb250cmlidXRpb25AYW5k
cm9pZC5jb20+iGAEExECACAFAknnWD4CGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIX
gAAKCRDorT+BmrEOeNr+AJ42Xy6tEW7r3KzrJxnRX8mij9z8tgCdFfQYiHpYngkI
2t09Ed+9Bm4gmEO5Ag0ESedYRBAIAKVW1JcMBWvV/0Bo9WiByJ9WJ5swMN36/vAl
QN4mWRhfzDOk/Rosdb0csAO/l8Kz0gKQPOfObtyYjvI8JMC3rmi+LIvSUT9806Up
hisyEmmHv6U8gUb/xHLIanXGxwhYzjgeuAXVCsv+EvoPIHbY4L/KvP5x+oCJIDbk
C2b1TvVk9PryzmE4BPIQL/NtgR1oLWm/uWR9zRUFtBnE411aMAN3qnAHBBMZzKMX
LWBGWE0znfRrnczI5p49i2YZJAjyX1P2WzmScK49CV82dzLo71MnrF6fj+Udtb5+
OgTg7Cow+8PRaTkJEW5Y2JIZpnRUq0CYxAmHYX79EMKHDSThf/8AAwUIAJPWsB/M
pK+KMs/s3r6nJrnYLTfdZhtmQXimpoDMJg1zxmL8UfNUKiQZ6esoAWtDgpqt7Y7s
KZ8laHRARonte394hidZzM5nb6hQvpPjt2OlPRsyqVxw4c/KsjADtAuKW9/d8phb
N8bTyOJo856qg4oOEzKG9eeF7oaZTYBy33BTL0408sEBxiMior6b8LrZrAhkqDjA
vUXRwm/fFKgpsOysxC6xi553CxBUCH2omNV6Ka1LNMwzSp9ILz8jEGqmUtkBszwo
G1S8fXgE0Lq3cdDM/GJ4QXP/p6LiwNF99faDMTV3+2SAOGvytOX6KjKVzKOSsfJQ
hN0DlsIw8hqJc0WISQQYEQIACQUCSedYRAIbDAAKCRDorT+BmrEOeCUOAJ9qmR0l
EXzeoxcdoafxqf6gZlJZlACgkWF7wi2YLW3Oa+jv2QSTlrx4KLM=
=Wi5D
-----END PGP PUBLIC KEY BLOCK-----

END

  • for other platforms, such as Ubuntu Linux (64-bit x86), Mac OS, and Other Linux, see

Android Open Source Project ---> Get source

时间: 2024-07-30 21:58:21

Get Android Source Code的相关文章

android studio-Android Studio使用Source Code Pro字体全部乱码

问题描述 Android Studio使用Source Code Pro字体全部乱码 之前都是好好的,也可以使用Source Code Pro字体,不知道怎么了,这个字体全部都变成了乱码,字体删除了,但是Android Studio中依然有这个字体,重装软件也不行 ,最喜欢这个字体,别的字体看着不舒服,该怎么办 解决方案 https://segmentfault.com/q/1010000004182199

Coalesys.WebMenu source code(partial)(1)

web I post this source code in order to test our il2c#, this source code was generated by our software, this is the  "javascript" method of class Coalesys.WebMenu.Generate internal static void JavaScript(WebMenu webmenu, GenerateConstants type,

扩展UltraGrid控件实现对所有数据行的全选功能[Source Code下载]

在前面一篇文章中,我通过对三种Infragistics 控件(UltraToolBarManager.UltraGird和UltraListView)进行扩展,以实现对ToolTip样式的定义,今天我来介绍如何采用相同的方式实现另外一个更为常用的功能:在UltraGrid的Header中动态添加CheckBox,从而实现对所有数据行进行全选的功能.[Source Code从这里下载] 一.我们的目标:在UltraGird的选择列的Header添加CheckBox实现对所有数据行的全选  我们现有

Enterprise Library Policy Injection Application Block 之三:PIAB的扩展—创建自定义CallHandler(提供Source Code下载)

本系列的第一部分对PIAB使用场景进行了简单的介绍,作中阐述了通过PI(Policy Injection)的方式实现了Business Logic和Non-Business Infrastructure Logic的分离,从而实现了AOP(Aspect Oriented Programming).在第二部分中详细介绍PIAB的实现机制:通过自定义RealProxy的方式实现了Method Injection.通过这几天接收到的网友的留言,觉得很多人对在具体的项目开发中如何使用PIAB还有很多困惑

事件(Event),绝大多数内存泄漏(Memory Leak)的元凶[下篇] (提供Source Code下载)

在上篇中我们谈到:将一个生命周期较短的对象(对象A)注册到一个生命周期较长(对象B)的某个事件(Event)上,两者便无形之间建立一个引用关系(B引用A).这种引用关系导致GC在进行垃圾回收的时候不会将A是为垃圾对象,最终使其常驻内存(或者说将A捆绑到B上,具有了和B一样的生命周期).这种让无用的对象不能被GC垃圾回收的现象,在托管环境下就是一种典型的内存泄漏问题.我们今天将会着重解释其背后的原因.[本篇文章的Source Code从这里下载) 一.CLR垃圾回收简介 在一个托管应用程序中,我们

source code analyzer 功能强大的C/C++源代码分析软件 Celerity CRACK 破解版

特色     迅捷是一个功能强大的C/C++源代码分析软件.可以处理数百万行的源程序代码.支持标准及K&R风格的C/C++.对每一个打开的源代码工程,通过建立一个包含丰富交叉引用关系的数据库,显示其所含的各种信息:所有的源文件.所有的头文件.所有的代码文件.词汇索引.索引结果.文件包含关系.宏定义.数据结构和函数定义.可扩展的函数定义.函数调用关系.分文件夹的定义目录.构造层次.诊断性输出等.仅须按一键就可以非常方便地扩展各种类型的定义和调用关系.所有这些结合起来帮助用户快速地阅读.理解.研究和

Generate C interface from C++ source code using Clang libtooling

原文地址 Generate C interface from C++ source code using Clang libtooling Dec 6, 2016 · 24 minute read · Comments clangllvmCC++I developed a concurrent user-thread library using C++, and was looking for a way to provide a C interface and make the functio

MAC下安装source code pro字体的例子

在MAC下安装 Source Code Pro 该字体和在Windows下安装一样,下载字体安装包后双击即可.下载的安装包中有OTF包和TTF包,至于这两者有什么区别,我也不是很清楚,大家自己谷歌吧  

《开源思索集》一Source Code + X

Source Code + X 开源思索集最近,有一位来自学术界朋友,找到了我们这个开源的圈子,因为他正在做一个课题<开源项目知识共享影响机理>,打算做一轮访谈.他所提出的大多数问题,都是围绕开源与知识共享展开的.我在经过相当长的一段时间思考之后,却打算撇开那些问题,谈谈我的一些思考. 最早的Source Code,其实是非常学术性的,那些科学家们,研究.发明并制造出了计算机,然后再编写计算机能够运行的代码.对于科学家来说:代码与论文非常类似,都是学术成果,饱含知识.他们应该,也必须被分享给学