1、Ubuntu环境配置

硬盘:120G

内存:4G

注:配置很重要,直接影响能否编译成功。

2、安装JDK

sudo apt-get update

sudo apt-get install openjdk-7-jdk

注:验证是否安装成功

java -version

3、配置JDK

sudo gedit /etc/profile

在文件末尾加上:

JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME
export PATH

4、安装编译依赖的软件

sudo apt-get install git-core gnupg flex bison gperf build-essential \ 

zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 \ 

lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache \ 

libgl1-mesa-dev libxml2-utils xsltproc unzip

注:Ubuntu版本不同,依赖的软件也不一样。

5、初始化编译环境

. build/envsetup.sh

6、选择编译包

lunch aosp_arm-eng

注:除了以上这个还有很多其他的编译包,可以通过输入lunch后按Tab键查看。

7、编译

make

8、遇到的问题

一直停在:

target SharedLib: libwebviewchromium (out/target/product/generic/obj/SHARED_LIBRARIES/libwebviewchromium_intermediates/LINKED/libwebviewchromium.so)

解决办法:

su切换到超级用户,执行以下操作:

1、dd if=/dev/zero of=/opt/swap1 bs=1024 count=1024000

(count的值等于1024 x 你想要的文件大小, 4096000是4G,1024000是1G)

2、mkswap /opt/swap1

(把这个文件变成swap文件)

3、swapon /opt/swap1

(启用这个swap文件)

4、为了使每次开机时都能正常使用swap文件,所以这里需要把swap文件增加到fstab文件中

sudo vi /etc/fstab

在最后一行增加如下内容

/opt/swap1 swap swap defaults 0 0

重复上述4步,再次增加一个/opt/swap2的文件。

再次重新编译源码:

1、

make installclean(保留之前编译的)

make clean(清空之前编译的)

建议选择第一个

2、. build/envsetup.sh

3、lunch aosp_arm-eng

4、make

9、有图有真相

10、参考资料

1、http://source.android.com/source/initializing.html

2、http://blog.csdn.net/vrix/article/details/48493569

Ubuntu14.04编译Android5.1.1源码的更多相关文章

  1. Ubuntu12.04编译Android4.0.1源码全过程-----附wubi安装ubuntu编译android源码硬盘空间不够的问题解决

    昨晚在编译源码,make一段时间之后报错如下: # A fatal error has been detected by the Java Runtime Environment: # # SIGSE ...

  2. ubuntu14.04+安卓7.1(全志源码)+openjdk-8编译

    题记:编译花了将近4小时,所以编译源码是很费时的哦,可以在编译的时候可以学习其他的知识 编译环境准备 软件:WorkStation10 系统:ubuntu14.04 内存:8G 处理器:4个 磁盘大小 ...

  3. OS X 10.10.5编译Android5.1.1源码

    --------------------------------------------------写在前面---------------------------------------------- ...

  4. 基于Ubuntu 14.04 LTS编译Android4.4.2源码

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/gobitan/article/details/24367439 基于Ubuntu 14.04 LTS ...

  5. [Android 编译(一)] Ubuntu 16.04 LTS 成功编译 Android 6.0 源码教程

    本文转载自:[Android 编译(一)] Ubuntu 16.04 LTS 成功编译 Android 6.0 源码教程 1 前言 经过3天奋战,终于在Ubuntu 16.04上把Android 6. ...

  6. Ubuntu14.04编译安装mysql5.6.26

    Ubuntu14.04编译安装mysql5.6.26 (1)安装编译源码需要的包 sudo apt-get install make cmake gcc g++ bison libncurses5-d ...

  7. [实践] Android5.1.1源码 - 在Framework中添加自定义系统服务

    前言 本文的方法要修改Android源码.但只要将系统服务写出来,也可以注入system_server进程将系统服务加载到system_server中. 步骤 1. 添加一个aidl文件,我将aidl ...

  8. 编译TWRP-recovery教程及源码地址

    TWRP这个是一个老外的开源项目,全称Team-Win-Recovery-Project Source:https://github.com/TeamWin/Team-Win-Recovery-Pro ...

  9. Ubuntu 10.04 安装Qt4.8.1 源码后字体模糊的问题

    Ubuntu 10.04 安装QT4.8.1 源码后字体模糊的问题. 附加解决 QT SDK 4.8.1 链接失败的问题 Ubuntu 10.04 编译QT源码后,编译程序,运行后IPA字体无法正常显 ...

随机推荐

  1. View设置宽高

    public class ViewMeasuare extends View { public ViewMeasuare(Context context, AttributeSet attrs) { ...

  2. IBATIS+ORACLE(一)

      迁移时间:2017年6月1日15:55:17 Author:Marydon (四)IBATIS + ORACLE 第一部分:基础篇 1.4.1.1 分页SQL <!-- 开头 --> ...

  3. 【VBA编程】09.使用Excle集合对象

    使用Workbooks工作簿集合.工作簿对象.工作表集合.工作表对象,并且观察使用Add方法前后工作簿与工作表数目的变化 [代码区域] Sub 测试集合工作簿() Dim wbs As Workboo ...

  4. 动态规划初级 入门理解 C#代码

      using System; using System.Collections.Generic; using System.Linq; using System.Text; using Micros ...

  5. oracle 数据导入和导出(原创)

    oracle的数据导入导出必须是在两个地方建立相同的用户才能完整导入(本地导入新的数据库需重建权限).所以导入就得按以下步骤进行: 假定服务器端用户为puser 服务器端导出可以这样做: 导出数据:e ...

  6. GNU--gprof使用总结

    Added macros ACE_USES_GPROF which enables users to use gprof in a multithreaded environment with ACE ...

  7. 设置iptables允许ssh、http、ftp服务

    系统环境:centos-6.5 服务器:thinkserver 知识扫盲: NEW:这个包是我们看到的第一个包 ESTABLISHED:一个连接要从NEW变 为ESTABLISHED,只需要接到应答包 ...

  8. 集成讯飞听写iOS sdk到unity遇到的问题:weak成员和strong成员

    在unity里集成讯飞语音听写iOS sdk的过程中,遇到一个问题,官方的demo中可以将多次onResults回调返回的结果累积拼接起来组成一个完整的结果,而我集成过来以后就不能累积了,只拿到最后一 ...

  9. 从【MySQL server has gone away】说起

    本文目的 这几天开发了一个PHP CLI程序,用于后台定时调度执行一些任务.此脚本采用了PHP的多进程(pcntl_fork),共享内存和信号量进行IPC和同步.目的是将串行的任 务并行执行,缩短执行 ...

  10. SVN提交项目时版本冲突解决方案

    版本冲突原因: 假设A.B两个用户都在版本号为7的时候,更新了index.jsp这个文件,A用户在修改完成之后提交index.jsp到服务器,这个时候提交成功,这个时候index.jsp文件的版本号已 ...