免费注册 查看新帖 |

Chinaunix

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

android -- 下载 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-02-06 12:51 |只看该作者 |倒序浏览

                                                                    这个周未闲来没事想要在自己的电脑上搞搞goole的android,基本上花了一天的时间来安装一些工具和源码,简记过程如下:
    android手机平台整个工程可以看作分为三部分,核心工程部分,扩展工程部分及一些包;(1):核心工程是我们做内核的最关心的部分,它主要包括了整个系统的核心的组成部分,(费话么这不是,呵呵)比如硬件抽像库、Linux内核,标准库(Libc,libm,libdl及动态链接库)、蓝牙工具底层调试工具、一个最小化的引导环境等。(2):扩展工程包括一些高层点的应用,如jdiff/make/netcat/netperf/googleclient/yaffs2/wdbkit/strace等。(3):包主是要包括高层用户的应用,如闹钟,EAIL,音乐/日历/浏器等。
    下载android平台的源码一定免不了上它的网站,http://source.android.com 但国内电信将这个城名给屏比掉了,要想上去,可以自已设置DNS,方法:将网络里NetworkSettings 中的DNS 设置为OpenDNS的服务器:208。67。222。222 和 208。67。220。220。之后应当就可以上了,之后,按照android的要求得先安装工具git和 repo:
    下载安装git:
sudo apt-get install git-core gnupg(在安装git-core时有的机器上可能会出现依赖错误,即git-core依赖于libc6,而用命令apt-get install libc6安装libc6时出现如下错误:E: Couldn't configure pre-depend libc6 for findutils, probably a dependency cycle。,似乎是libc6又依赖于findutils,如果用命令apt-get install findutils来安装这个包,同样会提示说家依赖于libc6,就是说这两个包是相互依赖的关系,不知道为什么会出现这种情况?只找到了一个暂时的解决方法:cd /var/cache/apt/archives
sudo dpkg --force-depends --install libc6_2.8~20080505-0ubuntu7_i386.deb findutils_4.4.0-2ubuntu3_i386.deb
要注意的是,这样安装之后对系统的其它模块会有较大的影响,因为这个LIBC6是标准的GNUC库,系统中几乎所有的程序都要依赖于它,所以在执行这些操作后会重新启动许多应用程序,也许有可能会要求手动修改/etc/下面的一些配置文件,具体的在配置时会给出提示)。
    下载安装JDK
sudo apt-get install sun-java6-jdk(安装的时候会出来一个对话框要求接受协议)
    其它的一些包
sudo apt-get install flex,bison,gperf,libsdl-dev,libwxgtk2.6-dev,curl,build-essential,zip,libncurses5-dev
    最好还要下一个内存检测的工具
sudo apt-get install valgrind
    下载完这些裤及工具之后还要下安装一个脚本来配合git的使用来简化操作-Repo
curl http://android.git.kernel.org/repo > ~/bin/repo
chmod a+x ~/bin/repo
    接下来就是下载并初始化repo,先建立自己的工作目录并进入其中:mkdir ~/study/android && cd ~/study/android
    然后是初始化
repo init -u git://android.git.kernel.org/platform/manifest.git我在这一步会出现了两个问题,第一个是说git版本要高于1。5。4,但用apt-get命令得到的git版本是1.5.2,再次运行apt-get install 时提示说已经是最新的版本,这可是能源中的设置里没有更新的版本所导致的。为解决这个问题我自己下载git 1.6.1的版本,然后编译安装(如果出现找不到头文件的问题,可能是某个依赖库没有找到,编译GIT所用到的库有zlib/libcurl/libcrypto/rsync,用pat-get 安装之后再编译即可)。第二个问题repo初始化的时候提示说~/study/android/.repo/repo/proofle/protobuf/reflection.py文件中的__init函数参数个数不对,自己强行去掉两个参数编译通过(前一段时间还打算学习学习phothy语言呢,但学了没有两周就放弃了,要不然也放可以自己改正一下这个程序呢,做事总是虎头蛇尾,惭愧啊。。。)好了,继续。。。在repo初始化完之后会要求用户输入名称及email地址,照做之后就算完成了repo的初始化。
    最后用repo下载工程文件
repo sync
漫长的等侍。。。
(如果这步没有错误,那android源码的下载基本上就没有问题了,如果你是处在内网中则有可能出现如下的错误:fatal:the remote end huang up unexpectly;
error:can not fetch xxx;
这时可以修改一下DNS来试试:
/etc/resolv.conf
nameserver 208.67.222.222
nameserver 208.67.220.220
并需要重启网络:/etc/init.d/networking restart)    睡醒一觉后看一下终于下完了,有1.2G,以后有时间慢慢研究吧。。。
    考虑将Android 移植到QT2410上的几个问题:编译工具的选择;内核版本的选择;编译选项的确定。几个有用的网站:http://wiki.openmoko.org/wiki/Androidhttp://elinux.org/Android_on_OMAP#File_System
http://wiki.droiddocs.net/Compilation_of_Android_kernelhttp://www.loveandroid.com/viewthread.php?tid=250&extra=page%3D1
有关EABI的,有时间可以看看
http://wiki.debian.org/ArmEabiPort


               
               
               
               
               
               
               
               
               
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/92532/showart_1815442.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP