找回密码
 立即注册

QQ登录

只需一步,快速开始

作者

80

主题

91

帖子

1630

积分

爱咖骏神

Rank: 9Rank: 9Rank: 9

积分
1630

关于Ubuntu16.04编译Android8.1系统遇到的坑

0 42
admin 发表于 2018-9-13 13:14:18 |阅读模式 |复制链接
这个论坛从2015年到现在,尤其去年和今年感觉和荒废了一样,近期本人在整理编译Android 8.0和 8.1时遇到了不少困难,总结如下。

Google官方构建编译环境指南中已经说明了Ubuntu14.04,Ubuntu 12.04,Ubuntu 10.04需要添加的依赖,这里我们就不做介绍了.我原先以为,Ubuntu16.04的设置和Ubuntu14.04的依赖设置应该差不多,但是只能说too young too simple.
下面是Ubuntu16.04中的依赖设置:
请参考对照,我发现我也很多没有安装,导致了编译的不停报错。


sudo apt-get install -y git flex bison gperf build-essential libncurses5-dev:i386
sudo apt-get install libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev g++-multilib
sudo apt-get install tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386
sudo apt-get install dpkg-dev libsdl1.2-dev libesd0-dev
sudo apt-get install git-core gnupg flex bison gperf build-essential  
sudo apt-get install zip curl zlib1g-dev gcc-multilib g++-multilib
sudo apt-get install libc6-dev-i386
sudo apt-get install lib32ncurses5-dev x11proto-core-dev libx11-dev
sudo apt-get install lib32z-dev ccache
sudo apt-get install libgl1-mesa-dev libxml2-utils xsltproc unzip m4

fatal error: openssl/opensslv.h: 没有那个文件或目录

sudo apt install libssl-dev

错误二: Out of memory error.具体错误如下:
142377-d171863b1ded87eb.jpg

这里写图片描述

这个错误比较常见,尤其是在编译AOSP主线代码时,常常会因为JVM heap size太小而导致该错误.
此时有两种解决方法:
方法一:
在编译命令之前,修改prebuilts/sdk/tools/jack-admin文件,找到文件中的这一行:
JACK_SERVER_COMMAND="java -Djava.io.tmpdir=$TMPDIR $JACK_SERVER_VM_ARGUMENTS -cp $LAUNCHER_JAR $LAUNCHER_NAME"
然后在该行添加-Xmx4096m,如:
JACK_SERVER_COMMAND="java -Djava.io.tmpdir=$TMPDIR $JACK_SERVER_VM_ARGUMENTS -Xmx4096m -cp $LAUNCHER_JAR $LAUNCHER_NAME"
然后再执行time make -8j


回复

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

逛了这么久“爱咖比”,何不进去瞧瞧!

登录 发布 快速回复 返回顶部 返回列表