ubuntu android 源码下载

简介: 引用:http://wiseideal.iteye.com/blog/1338673 http://www.cnblogs.com/dwayne/archive/2011/11/16/2250732.html 对于像我这么个对unix系统不怎么懂的门外汉,下android的源码真的是务必的受折磨。

引用:http://wiseideal.iteye.com/blog/1338673

http://www.cnblogs.com/dwayne/archive/2011/11/16/2250732.html

对于像我这么个对unix系统不怎么懂的门外汉,下android的源码真的是务必的受折磨。经历的一整天的失败后终于在找到别人最近写的教程后成功下载。先奉上原文:

 

这两天着手编译源码 的准备工作,在此记录下过程,方便自己备份的同时也希望能对后来者有所帮助。

Attention:本文环境是在ubuntu 11.04下获取并编译android 2.3.3的源码,

 

过程参考了easwy的博文:http://www.2cto.com/kf/201111/110741.html

以及google官网http://source.android.com/source/downloading.html 。

 

官网上的要求信息为:

In general you will need:

•     Python  2.4 -- 2.7, which you can download from python.org.

•     JDK 6 if you wish to build Gingerbread or newer; JDK 5 for Froyo or older. You can download both from java.sun.com.

•     Git 1.5.4 or newer. You can find it at git-scm.com.

•     (optional) Valgrind, a tool that will help you find memory leaks, stack corruption, array bounds overflows, etc. Download from valgrind.org.

另外补充:需要6GB以上磁盘空间,依赖的deb包:flex、bison、gperf、libsdl-dev、libesd0-dev、libwxgtk2.6-dev、build-essential、zip、curl

一、下载 前准备工作

首先,准备好所需磁盘空间后,就来安装开发过程中需要的一些开发包,在终端中执行以下命令:

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

在此处,需要注意两点:1.libsdl版本为1.2;2.zlib1g-dev别看错了是1而不是l,当然非手敲的tx就不存在这个问题了。

然后需要安装java环境,直接在终端查看下version:

wayne@ubuntu:~$ java -version

程序“java”已包含在下列软件包中:

 * gcj-4.4-jre-headless

 * gcj-4.5-jre-headless

 * openjdk-6-jre-headless

请尝试:sudo apt-get install <选定的软件包>

输入:sudo apt-get install openjdk-6-jre-headless,安装就ok了,再查看下version:

wayne@ubuntu:~$ java -version

java version "1.6.0_22"

OpenJDK Runtime Environment (IcedTea6 1.10.2) (6b22-1.10.2-0ubuntu1~11.04.1)

OpenJDK Server VM (build 20.0-b11, mixed mode)

jdk就安装好了。

二、下载源码

现在我们已经准备好了android源码开发所需的环境(无错误),下载源码的过程由于Android的源码很是庞大,需要分Android源码和内核两部分获取。内核部分的源码我暂时是不用的,所以这里只下载源码。

1.先新建一个文件夹存放Android目录,并初始化repo:

wayne@ubuntu:~$ mkdir Android

wayne@ubuntu:~$ cd Android

wayne@ubuntu:~/Android$ mkdir bin

wayne@ubuntu:~/Android$ cd bin

wayne@ubuntu:~/Android/bin$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo >repo

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

                                 Dload  Upload   Total   Spent    Left  Speed

100 19731  100 19731    0     0  14034      0  0:00:01  0:00:01 --:--:-- 17157

 

在这里,几个月前http://android.git.kernel.org/已经无法访问了,很多朋友如果用的是这个源下载站点,就会出现如下情况:

wayne@ubuntu:~/Android/bin$ curl http://android.git.kernel.org/repo >repo

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

                                 Dload  Upload   Total   Spent    Left  Speed

100   244  100   244    0     0     75      0  0:00:03  0:00:03 --:--:--   976

然后在之后的代码初始化时就会出现如下错误:

./bin/repo: 行1: 未预期的符号`newline' 附近有语法错误

./bin/repo: 行1: `<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">'

2.现在继续。建立存放源码目录source,初始化所需的android源码版本,在终端执行如下命令:

wayne@ubuntu:~/Android/bin$ sudo chmod a+x repo

wayne@ubuntu:~/Android/bin$ cd

wayne@ubuntu:~$ cd Android/source/

wayne@ubuntu:~/Android/source$ ../bin/repo init -u https://android.googlesource.com/platform/manifest -b android-2.3.3_r1

gpg: 钥匙环‘/home/wayne/.repoconfig/gnupg/secring.gpg’已建立

gpg: 钥匙环‘/home/wayne/.repoconfig/gnupg/pubring.gpg’已建立

gpg: /home/wayne/.repoconfig/gnupg/trustdb.gpg:建立了信任度数据库

gpg: 密钥920F5C65:公钥“Repo Maintainer <repo@android.kernel.org>”已导入

gpg: 合计被处理的数量:1

gpg:               已导入:1

 

Get https://android.googlesource.com/tools/repo

remote: Counting objects: 1414, done

remote: Finding sources: 100% (78/78)

remote: Total 1414 (delta 917), reused 1414 (delta 917)

Receiving objects: 100% (1414/1414), 429.88 KiB | 169 KiB/s, done.

Resolving deltas: 100% (917/917), done.

From https://android.googlesource.com/tools/repo

 * [new branch]      maint      -> origin/maint

 * [new branch]      master     -> origin/master

 * [new branch]      stable     -> origin/stable

...www.2cto.com

这样下来之后,会要求输入用户名和邮箱地址,随意写个就ok。

初始化完毕之后会出现:

repo initialized in /home/wayne/Android/source

现在完成初始化之后便可以下载了,在终端执行如下命令,开始下载:

wayne@ubuntu:~/Android/source$ ../bin/repo sync

下载全部的源码需要很长时间,现在正在经历漫长的等待……

过程中时常看一下,也许会出错而中断:

error: Exited sync due to fetch errors

遇到这些问题时,重新执行一遍../bin/repo sync就ok。

 

三、编译源码

编译部分要等待下载完成后再记录了,稍后奉上。

相关文章
|
1天前
|
Ubuntu NoSQL Linux
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
26 6
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
|
3月前
|
Ubuntu 应用服务中间件 nginx
Ubuntu安装笔记(三):ffmpeg(3.2.16)源码编译opencv(3.4.0)
本文是关于Ubuntu系统中使用ffmpeg 3.2.16源码编译OpenCV 3.4.0的安装笔记,包括安装ffmpeg、编译OpenCV、卸载OpenCV以及常见报错处理。
251 2
Ubuntu安装笔记(三):ffmpeg(3.2.16)源码编译opencv(3.4.0)
|
3月前
|
Java 程序员 开发工具
Android|修复阿里云播放器下载不回调的问题
虽然 GC 带来了很多便利,但在实际编码时,我们也需要注意对象的生命周期管理,该存活的存活,该释放的释放,避免因为 GC 导致的问题。
50 2
|
3月前
|
Ubuntu 编译器 计算机视觉
Ubuntu系统编译OpenCV4.8源码
【10月更文挑战第17天】只要三步即可搞定,第一步是下载指定版本的源码包;第二步是安装OpenCV4.8编译需要的编译器与第三方库支持;第三步就是编译OpenCV源码包生成安装文件并安装。
|
3月前
|
缓存 NoSQL Ubuntu
大数据-39 Redis 高并发分布式缓存 Ubuntu源码编译安装 云服务器 启动并测试 redis-server redis-cli
大数据-39 Redis 高并发分布式缓存 Ubuntu源码编译安装 云服务器 启动并测试 redis-server redis-cli
70 3
|
3月前
|
Ubuntu Shell API
Ubuntu 64系统编译android arm64-v8a 的openssl静态库libssl.a和libcrypto.a
Ubuntu 64系统编译android arm64-v8a 的openssl静态库libssl.a和libcrypto.a
|
4月前
|
Ubuntu 编译器 C语言
Ubuntu 源码编译指定版本 make:神秘代码背后的激情冒险,等你来战!
【9月更文挑战第8天】在Ubuntu中,编译指定版本的源码`make`是一项挑战但也极具价值的任务。它允许我们根据特定需求定制软件,提升性能与功能适配。首先需安装必要工具包如GCC等;接着下载所需源码并阅读相关文档以了解编译要求。通过运行`./configure`、`make`及`sudo make install`命令完成编译安装流程。过程中可能遇到依赖项缺失或编译选项设置不当等问题,需根据错误提示逐一解决。对于大型项目,可利用多核编译加快速度。掌握这一技能有助于更好地探索开源世界。
64 3
|
4月前
|
Ubuntu NoSQL
ubuntu上安装某个程序的符号表和源码包
ubuntu上安装某个程序的符号表和源码包
|
5月前
|
开发工具 git 索引
repo sync 更新源码 android-12.0.0_r34, fatal: 不能重置索引文件至版本 ‘v2.27^0‘。
本文描述了在更新AOSP 12源码时遇到的repo同步错误,并提供了通过手动git pull更新repo工具来解决这一问题的方法。
195 1