您的位置:首页 > 移动开发 > Android开发

Android 源码下载和编译

2011-02-04 22:13 405 查看
网络上已经有很多关于如何下载源码的方法介绍了。

我这里根据自己的实践(搭建两次Android 源码编译环境,并编译),记录一下手顺,方便自己记忆。

操作系统, 我装的ubuntu10.10 desktop. 在vmware 和 真实的x86都试过。

1.安装 需要的软件和库:

sudo apt-get install git-core gnupg flex bison gperf build-essential zip
curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386
lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev
lib32readline5-dev lib32z-dev

2. 安装 repo

$ mkdir ~/bin

$ PATH=~/bin:$PATH

$ curl http://android.git.kernel.org/repo > ~/bin/repo

$ chmod a+x ~/bin/repo

3.初始化 repo 客户端:

A. 创建一个文件夹: myandroid

$ mkdir myandroid

$ cd myandroid

B. 下载manifest.xml 等文件

$ repo init -u git://android.git.kernel.org/platform/manifest.git

(这一步可能会报告repo的错误,此时需要将第2步中下载的repo文件删除,重新执行

$ curl http://android.git.kernel.org/repo > ~/bin/repo

$ chmod a+x ~/bin/repo)

4. 修改 manifest.xml 文件, 因为有可能git无法使用,需要将git改成http。在myandroid下,我们可以看见隐藏的.repo文件夹,这个文件夹下有一个manifest.xml文件,打开这个文件将这个文件, 将fetch="git
://android.git.kernel.org/" 改成fetch="http
://android.git.kernel.org/"。

5.同步

在myandroid 下执行 repo sync

过个一两个小时就可以下载完代码,我用的是ADSL 2M的,下载了一个多小时。

同步好代码后, 开始编译。 到myandorid 下执行make, 发现会报出 用32为系统编译的错误,这时我们只需要修改一些makefile就可以把这个错误搞定,具体的文件如下。

A. myandorid/build/core/main.mk

ifeq ($(BUILD_OS),linux)

build_arch := $(shell uname -m)

ifneq (64
,$(findstring 64
,$(build_arch)))

修改成:

ifeq ($(BUILD_OS),linux)

build_arch := $(shell uname -m)

ifneq (i686
,$(findstring i686
,$(build_arch)))

B. myandroid/external/clearsilver/cgi/Android.mk,

myandroid/external/clearsilver/java-jni/Android.mk,

myandroid/external/clearsilver/util/Android.mk,

myandroid/external/clearsilver/cs/Android.mk

将这些文件里面的

LOCAL_CFLAGS += -m64

LOCAL_LDFLAGS += -m64

修改成:

LOCAL_CFLAGS += -m32

LOCAL_LDFLAGS += -m32
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: