Android4.X在Ubuntu12.04(64位)编译

由于项目需要,最近在Ubuntu12.04  64位的机器上面编译了一次Android4.0.4版本,现记录需要注意的地方:


1 安装基础库文件  

参考 android 官方网站 http://source.android.com/source/initializing.html

注意:  

   Installing required packages (Ubuntu 12.04)
Building on Ubuntu 12.04 is currently only experimentally supported and is not guaranteed to work on branches other than master.


$ sudo apt-get install git gnupg flex bison gperf build-essential \
  zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
  libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \
  libgl1-mesa-dev g++-multilib mingw32 tofrodos \
  python-markdown libxml2-utils xsltproc zlib1g-dev:i386


$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so


2 安装JDK

这个需要注意JDK的版本,JDK1.7.X的无法编译过去,会提示JDK版本不匹配,我使用的是 jdk1.6.0_30.tar.gz,文件太大无法上传到了CSDN,大家下载时注意要下载Ubuntu X64位版本,另外注意要在编译脚本里面添加JDK的路径,比如:

export PATH=$PWD/jdk1.6.0_30/bin:$PATH

我的  jdk1.6.0_30. 文件夹放到了Android源代码的目录下面。

另外编译脚本里面增加交叉编译器的路径,这个交叉编译器是Android自带的,不需要额外安装:

export PATH=$PWD/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin:$PATH


我的编译脚本(我的平台是三星S5PV210):

SEC_PRODUCT='smdkv210'
export PATH=$PWD/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin:$PATH
export PATH=$PWD/jdk1.6.0_30/bin:$PATH

set -e
export CPUS=`grep -c processor /proc/cpuinfo`

START_TIME=`date +%s`

#forlinx add for compile android 
mkdir -p  out/target/common/obj
cp -f vendor/samsung/smdkv210/framework.aidl   out/target/common/obj 


#start compile android4.0
echo "Start build Android4.0......"  
make -j${CPUS} HOST_CC=gcc-4.4 HOST_CXX=g++-4.4 HOST_CPP=cpp-4.4  PRODUCT-full_$SEC_PRODUCT-eng


END_TIME=`date +%s`
echo "Total compile time is $((($END_TIME-$START_TIME)/60)) minutes $((($END_TIME-$START_TIME)%60)) seconds"


} 2>&1 |tee build.out


3  安装 gcc4.4

 你用Ubuntu11.10(含12.04)的话,必须把gcc从4.5或者更高版本降回4.4,否则会报错。
以下供参考:
sudo apt-get install gcc-4.4 g++-4.4 g++-4.4-multilib
cd /usr/bin
sudo ln -sf cpp-4.4 cpp
sudo ln -sf gcc-4.4 gcc
sudo ln -sf g++-4.4 g++

4  编译V8

 编译到 external/v8 出现错误,单独编译即可:

 make libv8

编译的时候注意在终端窗口添加环境变量:

export PATH=$PWD/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin:$PATH
export PATH=$PWD/jdk1.6.0_30/bin:$PATH


5 安装mkimage工具:

 android在编译到结尾的时候会使用该工具来制作镜像文件,工具源码在Uboot代码tools下面,Uboot编译完成后,该工具会编译出来,把它放到/usr/sbin/目录即可。















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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值