编译Android4.0.4源代码

系统环境:Ubuntu 12.04

1. 下载android_4.0.4

    curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ./repo

    repo init -u https://android.googlesource.com/platform/manifest-b android-4.0.4_r2

    repo sync

    注意repo init的时候最好新建一个目录, 在新建的目录里进行操作.

2. 安装jdk1.6.0_35

    在~/.bashrc中配置环境变量

    export JAVA_HOME=JDK_PATH(根据jdk所在的实际路径写)

    export PATH=$JAVA_HOME/jre/bin:$JAVA_HOME/bin:$PATH

    export CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

    如果dt.jar tools.jar没有可执行权限要加上

    sudo chmod 755 dt.jar tools.jar

3. 安装编译代码时需要的各种软件包

    sudo apt-get update更新源

    sudo apt-get install bison

    sudo apt-get install flex

    sudo apt-get install gcc-4.4 g++-4.4 g++-4.4-multilib

    注意同时把/usr/bin/gcc-4.4 /usr/bin/g++-4.4重命名为/usr/bin/gcc/usr/bin/g++

    并且让cc链接到gcc .sudo ln /usr/bin/cc /usr/bin/gcc

    sudo apt-get install zlib1g-dev

    sudo apt-get install libncurses5-dev

    sudo apt-get install libX11-dev

    sudo apt-get install libgl1-mesa-dev

    sudo apt-get install gperf

4. 修改部分代码

     1. build/core/combo/HOST_linux-x86.mk

         HOST_GLOBAL_CFLAGS += -D_FORTIFY_SOURCE=0 改为

         HOST_GLOBAL_CFLAGS += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0

     2. build/tools/releasetools/common.py

         cmd = ["java", "-Xmx2048m", "-jar"  改为

         cmd = ["java", "-Xmx512m", "-jar"

         原因是我的是PC内存只有2G, 制作差分包时会报错, 如果你机器的内存大于2G

         或者不做差分包可以忽略此修改.

     3. external/gtest/include/gtest/internal/gtest-param-util.h

          加入#include <cstddef>

     4. external/llvm/llvm-host-build.mk

          在第26行加入LOCAL_LDLIBS := -lpthread -ldl

     5. external/mesa3d/src/glsl/linker.cpp

          加入#include <stddef.h>

     6. external/oprofile/libpp/format_output.h

          mutable  counts_t & counts; 改为

          counts_t & counts;

     7.  frameworks/compile/slang/slang_rs_export_foreach.cpp

          注释掉llvm::StringRef ParamName = PVD->getName();  

5.  在源码树的根目录下执行

     . build/envsetup.sh

     lunch product_name(根据实际情况来)

     make -j4     

6.  如果出现了不明原因的错误, 那么make clean后重新编译.


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值