Chinaunix首页 | 论坛 | 博客
  • 博客访问: 94296
  • 博文数量: 32
  • 博客积分: 960
  • 博客等级: 准尉
  • 技术积分: 335
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-22 23:09
文章分类

全部博文(32)

文章存档

2011年(31)

2010年(1)

我的朋友

分类: LINUX

2011-05-01 09:18:23

运行环境:Windows+VirtualBox、Ubuntu10.10 amd64

一:获取Android源码

通过curl下载repo脚本,将官方推荐的git改为http,并根据需要给curl增加proxy:port:
$curl > ~/bin/repo

增加repo的可执行权限:
$chmod a+x ~/bin/repo

将repo脚本中的git改为http。

在~/.bashrc中增加repo的proxy和PATH:
export HTTP_PROXY=xxx.xxx.com:8080
export http_proxy=HTTP_PROXY
export PATH=~/bin:$PATH // 直接执行repo,不需要每次都加路径。

创建工作目录:
$mkdir mydroid

cd mydroid

初始化repo,在mydroid下生成.repo目录:
repo init -u
或者
repo init -u -b froyo

将.repo目录manifest.xml中的git也改为http。

同步,获取kernel之外的android所有源码:
$repo sync

二:编译Android
$cd ~/mydroid
$make

这一步会出现各种各样的问题。

1、32位 or 64位,目前一般编译32位。
错误信息:
build/core/main.mk:73: You are attempting to build on a 32-bit system.
这是因为froyo/2.2默认支持64-bit。

解决办法:
修改./external/clearsilver目录下的4个文件cgi/Android.mk、java-jni/Android.mk、util/Android.mk、cs/Android.mk,
将LOCAL_CFLATS +=-m64 LOCAL_LDFLAGS += -m64 都改为 m32

修改./build/core/main.mk,
将ifneq (64, $(findstring 64,$(build_arch)))改为ifneq (i686, $(findstring i686,$(build_arch)))

2、Java版本不对,需要安装Java1.6。
增加source服务器:
sudo add-apt-repository "deb maverick partner"
刷新:
sudo apt-get update
安装:
sudo apt-get install sun-java6-jdk

3、选择Java版本。
已经安装了Java 1.5和1.6两个版本,需要根据android版本选择合适的一个Java版本:
sudo update-alternatives --config java
sudo update-alternatives --config javac
然后确认一下Java版本即可:
java -version

三:获取Kernel源码
git clone git://android.git.kernel.org/kernel/common.git kernel

阅读(1524) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~