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
我这里根据自己的实践(搭建两次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
相关文章推荐
- Android 源码的下载和编译环境的安装及编译
- 最简单的android源码下载 编译 步骤
- Ubuntu环境下 Android平台源码的下载及编译
- Android2.3系统源码及编译后内容下载分享
- 如何下载并编译Android 4.0内核源码Goldfish
- Android源码下载和编译Tips
- Android 4.0源码下载以及编译
- 下载CyanogenMod 7.2 for Motorola Defy (Android 2.3.7 AOSP)的CM源码并编译
- Android源码4.4.4_r1下载和编译
- Android源码下载与编译:
- 终于下载android源码(android-2.3.3_r1)和编译系统
- Macbook Pro下载并编译Android源码并导入Android Studio
- 学习笔记五:Ubuntu下载编译Android源码
- 下载 编译和运行android源码以及开发第一个app
- Android拓展系列(5)--CyanogenMod源码下载和编译(Android ROM定制基础篇)
- android 源码的下载和编译
- Ubuntu环境下 Android平台源码的下载及编译
- Ubuntu 12.04(64位)下载并编译 Android 4.1 源码
- Android深入浅出系列课程--Lesson11 Android.Framework源码下载及编译