Android 源码下载和编译

    技术2024-10-02  64

    网络上已经有很多关于如何下载源码的方法介绍了。

    我这里根据自己的实践(搭建两次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

     

     

    最新回复(0)