android5.0 aosp编译记录(由于机器硬件原因,改为4.4.2编译通过)

  编译环境必须是64位系统啊,妥妥的又装了64位的ubuntu,虚拟机推荐server版本,不带x省性能……

  接着要装openjdk 1.7,记得更新一下系统的源,下面这个不错

 1 deb http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse
 2 deb http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse
 3 deb http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse
 4 deb http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse
 5 deb http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse
 6 deb-src http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse
 7 deb-src http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse
 8 deb-src http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse
 9 deb-src http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse
10 deb-src http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse

  然后就是sudo apt-get  install openjdk-7-jdk 依赖的包都会下载安装好,装好之后java -version一下,妥妥的。

  

  编译需要的依赖库装一下:

  sudo apt-get install bison libc6-dev-amd64 zlib1g-dev lib64z1-dev flex libncurses5-dev libx11-dev gperf

  不然中途出错又要重新搞。

  好了,现在还在编译,慢慢等着先。

  

  出错了,提示缺少unzip, 装上……

  继续……

  又提示缺少库,安装下面:

  sudo apt-get install lib32stdc++6 lib32z1 lib32z1-dev

  如果发生下面的问题,则再次更新:

  sudo apt-get update --fix-missing

  然后提示:

  No rule to make target 'external/chromium_org/third_party/angle/.git/index', need by .....

  按照网友提示,将external/chromium_org/third_party/angle/src/commit_id.target.linux-arm.mk文件中关于index的部分注释掉:

  #$(LOCAL_PATH)/third_party/angle/.git/index$(GYP_TARGET_DEPENDENCIES)

  昨晚上磁盘满了,囧……今天晚上继续

  今天晚上又遇到了内存不够的情况,好吧,我的虚拟机,没有办法……增加swap分区大小,方法,参考下面链接:

  http://www.cnblogs.com/kakafra/archive/2012/10/22/2734654.html

  好吧,刚才又出错了各种搜索了一下,提示还是把依赖库再装一下:

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

  除了一个g++-multilib我真是装不上了……

  继续静待,内牛满面啊……

  汇报一下进度,swap分区增加到2.7G,内存1.5G,结果有个地方链接死活过不去,webkit啥的,提示内存不足……先放弃,等学完车回来搞……

  上面在虚拟机编了将近24个小时……

  最新进度,放弃了5.0,因为内存估计还是差点,直接编译4.4.2通过了。

  一些经验:

  ccache一定要开起来;

  物理内存小于4G的,直接swap分区往4G+开;

  最后链接libwebviewchromium.so,这个动态链接库有1.13G大,整个人都思密达了,在提示link这个库的时候,会卡很久,淡定就好;

  搞安卓真烧硬件啊……不光设备性能也好,主机性能也要好,才能流畅,TT

  

原文地址:https://www.cnblogs.com/masky/p/4232384.html