免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2125 | 回复: 1
打印 上一主题 下一主题

ubuntu 11.04下Android源码的获取 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-11-13 17:55 |只看该作者 |倒序浏览
ubuntu 11.04下Android源码的获取






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

Attention:本文环境是在ubuntu 11.04下获取并编译android 2.3.3的源码,过程参考了easwy的博文http://easwy.com/blog/archives/compile-android-gingerbread-2-3-1/ 以及google官网 http://source.android.com/source/downloading.html

官网上的要求信息为:

In general you will need:

ython 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环境,在这里我尝试了两种方法。

方法一(在线):

执行

sudo apt-get install sun-java6-jdk提示:

E: Package 'sun-java6-jdk' has no installation candidateubuntu后续版本提供的软件源变化了,按照官网说明,解决方法如下:

$sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"$sudo add-apt-repository "deb-src http://archive.canonical.com/ubuntu lucid partner"

第二条命令执行时会出现提示:

Error: 'deb-src http://archive.canonical.com/ lucid partner' invalid直接无视之,继续执行:

sudo apt-get updatesudo apt-get install sun-java6-jdk安装开始。

方法二(离线):

参考网址 http://jayghost.iteye.com/blog/1245095
从官网下载jdk-6u29-linux-i586.bin

sudo chmod u+x jdk-6u29-linux-i586.bin修 改bin文件权限,使其可执行。
然后执行

./jdk-6u29-linux-i586.bin然后持续按回车键,JDK解压到文件夹,得到jdk1.6.0_29.此时JDK安装完毕。

下面进行配置环境变量。

/etc/profile 添加如下代码:

JAVA_HOME=/usr/java/jdk1.6.0_29
PATH=$JAVA_HOME/binPATH
CLASSPATH=.JAVA_HOME/lib/tools.jarJAVA_HOME/lib/dt.jar
export PATH  CLASSPATH

PS:jdk复制到/usr/java/下。

保存重启后 即可。

使用java -version来检验。



二、下载源码

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

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

wayne@ubuntu:~$ mkdir Androidwayne@ubuntu:~$ cd Androidwayne@ubuntu:~/Android$ mkdir binwayne@ubuntu:~/Android$ cd binwayne@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  Speed100 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  Speed100   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源码版本,在终端执行如下命令:
  1. wayne@ubuntu:~/Android/bin$ sudo chmod a+x repowayne@ubuntu:~/Android/bin$ cdwayne@ubuntu:~$ cd Android/source/wayne@ubuntu:~/Android/source$ ../bin/repo init -u https://android.googlesource.com/platform/manifest -b android-2.3.3_r1gpg: 钥匙环‘/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: 合计被处理的数量:1gpg:               已导入:1Get https://android.googlesource.com/tools/reporemote: Counting objects: 1414, doneremote: 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
复制代码
...这样下来之后,会要求输入用户名和邮箱地址,随意写个就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。



以上就是下载源码全过程,欢迎交流指正。

论坛徽章:
0
2 [报告]
发表于 2011-11-14 09:06 |只看该作者
希望与ll能多交流
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP