Chinaunix首页 | 论坛 | 博客
  • 博客访问: 817263
  • 博文数量: 210
  • 博客积分: 10002
  • 博客等级: 上将
  • 技术积分: 1840
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-18 09:56
文章分类

全部博文(210)

文章存档

2011年(1)

2010年(6)

2009年(65)

2008年(138)

我的朋友

分类: LINUX

2009-12-03 12:00:38

在 Ubuntu8.04下,应该一切很顺利,但是我装的是9.10版本,所以会有些问题。
先装jdk1.5,网上说1.6的有点小问题,所以我没装1.6,选择了1.5. 然后一边装必须的一些程序,apt-get install **** 很多乱七八糟的,网上能搜到,然后一边下载android源码。
 
源码的下载需要git,curl和repo,git和curl可以直接用apt-get install git-core curl就可以了
 
然后下载repo
curl >~/bin/repo
 
添加可执行权限
sudo chmod +x repo
 
初始化repo
repo init -u git://android.git.kernel.org/platform/manifest.git
 
如果只需要某一个版本,比如我只要cupcake
repo init -u git://android.git.kernel.org/platform/manifest.git -b cupcake
 
然后建个目录,
mkdir android
 
进入
cd android
 
下载
repo sync
 
然后就等吧,大概两个G左右的内容,在获取39%的时候和95%的时候是最慢的,因为39%的有一百多M,95%的有差不多400M。
下载完之后,先不要make,因为还有几个问题:
1.如果直接make,会出现frameworks/policies/base/PolicyConfig.mk:22: *** No module defined for the given PRODUCT_POLICY (android.policy_phone).  Stop.错误。
解决办法:
在build/tools/findleaves.sh中的第89行,
这一句find "}" $findargs -type f -name "$filename" -print |
改为find "}" $findargs -type f -name "$filename" -print |
 
2.frameworks/base/tools/aidl/AST.cpp:10: error: 'fprintf' was not declared in this scope的错误
解决办法:
下载gcc-4.3和g++-4.3
apt-get install gcc-4.3 g++-4.3
大约十多兆,然后
进入/usr/bin
cd /usr/bin
建个软连接
ln -s gcc-4.3 gcc
ln -s g++-4.3 g++

然后进入android目录下,执行make,就可以了。
 
我在虚拟机里面make的,分了1G内存给他,处理器50%,一共花了两个小时才编译完成。编译完成后,在android目录下的out文件夹中,就是结果,也有两个G左右。
在out/target/product/generic目录下,有三个img文件,system.img,ramdisk.img,userdata.img,这三个就是需要的android系统镜像文件,放到模拟器中运行就行了。

运行出来之后,进入设置里面,可以看到自己编译的标识呢,嘿嘿,很有成就感的。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/xieyaa/archive/2009/11/23/4858189.aspx
阅读(2134) | 评论(2) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-12-23 16:18:37

听说是要1.6的jdk?

chinaunix网友2010-12-23 16:14:41

我在ubuntu10.10上面编译,使用的gcc 4.4, jdk 1.5,但是编译不过, 出现以下错误: external/jsilver/src/com/google/streamhtmlparser/impl/HtmlParserImpl.java:654: 找不到符号 符号: 方法 isEmpty() 位置: 类 java.lang.String Preconditions.checkState(!cdataCloseTagString.isEmpty() ^ external/jsilver/src/com/google/streamhtmlparser/util/JavascriptTokenBuffer.java:80: 找不到符号 符号: 方法 copyOf(char[],int) 位置: 类 java.util.Arrays buffer = Arrays.copyOf(aJavascriptTokenBuffer.buffer,