android5.0 aosp编译记录(由于机器硬件原因,改为4.4.2编译通过)
编译环境必须是64位系统啊,妥妥的又装了64位的ubuntu,虚拟机推荐server版本,不带x省性能……
接着要装openjdk 1.7,记得更新一下系统的源,下面这个不错
deb http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse
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
android5.0 aosp编译记录(由于机器硬件原因,改为4.4.2编译通过)的更多相关文章
- Mac上编译并运行Android5.0源码
下载.配置环境.build和运行参考的都是Android Source提供的文档,包括:Initializing a Build Environment,Downloading the Source和 ...
- android5.0 编译
android5.0编译需要jdk1.7版本,将来本地可能需要同时维护两套jdk版本,请参考: 在线安装openjdk1.7 sudo apt-get install openjdk-7-jre op ...
- Android5.0 Gallery2上编译Gallery模块出错
Android5.0 Gallery2上编译Gallery模块出错 时间:2015-05-05 19:32:57 阅读:105 评论:0 收藏:0 [点我收藏+ ...
- Android5.0和Android6.0适配
gradle配置项 compileSdkVersion 用哪个 Android SDK 版本编译你的应用.因此我们强烈推荐总是使用最新的 SDK 进行编译.在现有代码上使用新的编译检查可以获得很多好处 ...
- Eclipse搭建Android5.0应用开发环境 “ndk-build”:launchingfailed问题解决
Eclipse搭建Android5.0应用开发环境 "ndk-build":launchingfailed问题解决 详细参考http://blog.csdn.net/loongem ...
- Clickhouse v18编译记录
简介 ClickHouse是"战斗民族"俄罗斯搜索巨头Yandex公司开源的一个极具"战斗力"的实时数据分析数据库,是面向 OLAP 的分布式列式DBMS,圈内 ...
- 友情提醒:欲开发android5.0以上应用,请全部更新开发工具至最新
周末帮人完成一个项目,android5.0以上版本,谁知道被开发工具折腾的死去活来.我的开发环境是adt-bundle-windows-x86-20140702.zip版本,也是目前能找到的adt-b ...
- ccs6.0使用问题记录
ccs6.0使用问题记录 彭会锋 1 编译过程中提示warning " Description Resource Path Location Type #9-D nested commen ...
- ANDROID5.0触摸屏校准
1.校准原理: 1)首先生成校准用的参数,可以适用tslib生成校准参数,也可以使用校准app生成:使用校准app进行校准对使用者要求比较低,使用者可以不用学习复杂的命令:本文使用app方式 2)生成 ...
随机推荐
- linux命令(1):ls命令
ls命令是linux下最常用的命令. ls命令就是list的缩写,缺省下ls用来打印出当前目录的清单,如果ls指定其他目录,那么就会显示指定目录里的文件及文件夹清单. 通过ls 命令不仅可以查看lin ...
- 解决:NoSuchAlgorithmException: Algorithm HmacSHA1 not available
windows下运行macInstance = Mac.getInstance("HmacSHA1");完全正常,Linux下则出现异常: java.security.NoSuch ...
- coreData数据操作
// 1. 建立模型文件// 2. 建立CoreDataStack// 3. 设置AppDelegate 接着 // // CoreDataStack.swift // CoreDataStackDe ...
- ajax 请求如何解决乱码
今天遇到一个问题,有关ajax 请求中传输中文,遇到乱码的问题. 如下代码: function UpdateFolderInfoByCustId(folderId, folderName, custI ...
- Android学习---ListView和Inflater的使用,将一个布局文件转化为一个对象
本文将介绍ListView和Inflater的使用,将接上一篇文章内容. 一.什么是ListView? 在android开发中ListView是比较常用的控件,ListView 控件可使用四种不同视图 ...
- 自定义刻度的SeekBar
<com.imibaby.client.views.CustomSeekbar android:id="@+id/myCustomSeekBar" android:layou ...
- JS之BOM、客户端检测和DOM
这是第八章到第十二章的内容,粗略浏览过一遍. 一.BOM 浏览器对象模型.包括了window.location.navigator.screen和history对象. window:核心对象 1.JS ...
- H5学习系列之Communication API
1 .postMessage API 首先介绍一下什么是iframe? 百度百科里这样写道:IFRAME,HTML标签,作用是文档中的文档,或者浮动的框架(FRAME). 我的理解就是网页中的网页. ...
- whoami与who am i
whoami显示的是当前“操作用户”的用户名,而who am i显示的是“登录用户”的用户名. 若你使用root用户登录,中间su abc切换,whoami的结果是abc,who am i 的结果是r ...
- jsp:软件包 javax.servlet 不存在
jdk里面有javax.servlet和javax.servlet.http这两个包吗? JavaServlet程序运行还需要安装JDK以外的包吗...? why?我运行JavaServlet程序的时 ...