本文转载自:http://blog.csdn.net/drg1612/article/details/44802533

我的编译条件:

1 Ubuntu Kylin 14.04 长期支持版 下载地址 : http://www.ubuntu-china.cn/download

2 我的电脑是联想G470 i3处理器 内存4G,120g固体硬盘,配置不高,但是足够编译了(编译花费了5小时)

3 Ubuntu我的分区状况:/home 100g(至少80g),swap分区8g(至少4g),空间请务必满足最低条件,不然无法编译成功

4 一个速度快且稳定的v-p`n,我用的是green,线路选择的是日本高速线路,差不多有10m带宽

前后我总共花费了3 天的时间,一直在看网上的教程,期间还有下载和编译需要花费大量的时间,这个和我电脑配置低有很大的关系,最后结果还不错,成功运行了虚拟机。

开始具体过程:

1 首先检查是否满足编译的条件,缺一不可,如果你的swap分区(输入 free -m查看)如果没有4g,那么按照教程增加

具体教程见:http://blog.csdn.NET/mznewfacer/article/details/7334592

修改swap无需重启电脑

还有v-p~n的事情,我是花钱买了一个月,18块,不是广告,毕竟花钱稳定点,同步安卓源码库必须要挂。

2 然后按照官网教程一步一步来

具体见http://source.Android.com/source/initializing.html

我总结一个简化步骤:

(1)配置ubuntu的编译环境(仅限于安卓5.1.0,其余版本请到官网看各自的编译环境):

sudo apt-get update

sudo apt-get install openjdk-7-jdk

sudo apt-get install bison g++-multilib Git gperf libxml2-utils make zlib1g-dev:i386 zip

(2)同步5.1.0源码

2.1 安装repo(用于同步库的软件,基于git)

mkdir ~/bin

PATH=~/bin:$PATH

curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo

chmod a+x ~/bin/repo

2.2 开始下载源码(需要很长时间(14g左右),我当时记得挂了一晚上,下载好了,具体时间要看各自的v-p~n速度)

mkdir WORKING_DIRECTORY

cd WORKING_DIRECTORY

repo init -u https://android.googlesource.com/platform/manifest -b android-5.1.0_r3

repo sync

同步完成之后,目录是这样的:

(3)开始编译

source build/envsetup.sh (编译环境参数)

lunch aosp_arm-eng (目标设备)

make -j4 (以4个线程开始编译)

如果顺利的话,我的机器花费了5个小时编译(out目录占29.1g),第一次编译花费时间很长,以后增量更新速度就快了,编译时间具体看个人机器了,编译完成之后,终端会显示:

然后输入emulator运行虚拟机:

祝各位编译顺利!

3 我遇到的问题

3.1问题1:过时的API

注: 某些输入文件使用或覆盖了已过时的 API。
注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。

如果此问题造成编译停止,请看有没有执行过:sudo apt-get install bison g++-multilib git gperf libxml2-utils make zlib1g-dev:i386 zip

如果没有造成编译停止,请忽略

3.2问题2:内存溢出

make: *** [out/target/product/generic/obj/SHARED_LIBRARIES/libwebviewchromium_intermediates/LINKED/libwebviewchromium.so] 错误 1
make: *** 正在等待未完成的任务....

swap分区过小了,试试改成6g。

最后附上对我此次编译帮助最大的文档,感谢他们:

1 一些编译出错的解决方案

http://www.cnblogs.com/tao560532/p/3302444.html

2 目录结构(学习资料)

http://www.it165.net/pro/html/201403/10393.html

3 深入理解Android编译系统(学习资料)

http://blog.csdn.Net/huangyabin001/article/details/36383031

Android源码编译全过程记录(基于最新安卓5.1.0)【转】相关推荐

  1. android源码模块编译错误,Android 源码编译错误记录

    构建环境 mac os 10.14.5 在构建过程中报如下错误: Could not find a supported mac sdk: ["10.10" "10.11& ...

  2. Android源码编译(基于Ubuntu18.0.4)

    文章目录 一.环境搭建 硬件要求 软件要求 操作系统和 JDK 主要软件包 软件安装 Git安装 repo工具安装 安装 openJDK 8 其他依赖安装 二.源码下载 建立源码文件夹 初始化仓库 源 ...

  3. android源码编译并刷入nexus 6p手机

    来自"梧桐那时雨"的博客:https://blog.csdn.net/fuchaosz/article/details/52473660 1 前言 经过一周的奋战,终于从谷歌官网上 ...

  4. Android 源码编译详解【合集篇】

    Android 源码编译详解[一]:服务器硬件配置及机型推荐 做 Android系统开发多年,开发环境都是入职就搭建好了,入职时拿个账号密码就直接开始搞开发了,年初换了新公司,所有的项目都是刚起步,一 ...

  5. Android源码编译make的错误处理

    https://www.linuxidc.com/Linux/2011-11/47411.htm Android源码下载:官方下载 或参考android源码下载方式 Android编译版本: PLAT ...

  6. linux系统编译时make出错,Android源码编译make的错误处理

    Android编译版本:PLATFORM_VERSION=4.0.1(最新Android 4.0.1) OS 操作系统平台: Linux yanggang 2.6.35-30-generic #61- ...

  7. Android源码编译环境搭建教程 (一) - Ubuntu系统构建

    Android源码编译环境搭建教程 (一) - Ubuntu系统构建 本教程为感兴趣的同学提供Android源码编译的环境搭建,当然这里都是基于windows系统,mac系统也差不多,将相应的软件替换 ...

  8. android 编译完后镜像在哪个文件夹,Android源码编译后

    在out/target/product/generic下生成的三个镜像文件:ramdisk.img,system.img,userdata.img以及它们对应的目录树root,system,data. ...

  9. Android源码编译make的各类错误解决方案汇总

    问题: You are attempting to build with the incorrect version of java.  Your version is: java version & ...

最新文章

  1. C++构造函数及析构函数的调用顺序
  2. 【Laravel-海贼王系列】第七章,Pipeline 类解析
  3. 使用JavaScript将当前页面保存成PDF,支持图片和文字的保存
  4. 特征提取——HOG方向梯直方图
  5. MySQL各个版本区别
  6. 人工智能的前生,今世,和未来
  7. ios 绘制线框_iOS开发 给View添加指定位置的边框线
  8. Android自定义Button样式(水平滑动多个Button)
  9. 2018想要薪资翻倍?你需要掌握这个技能
  10. 技术选型和知识点介绍(上)
  11. 昆仑通态屏幕制作(连载1)---接触篇
  12. python搭建一个后端平台
  13. 后端学习 Java笔记(附源码)
  14. 红帽linux系统内核版本7,如何查看Linux发行版内核版本及系统版本?
  15. 网络攻防技术(2021期末考试)
  16. c语言怎样控制键盘的方向键,c++怎么获取键盘的方向键
  17. MFC 小游戏之连连看
  18. html td无边框颜色,table的td设置背景颜色后边框框消失
  19. 关于 laravel-wechat / easywechat-composer 装不上问题
  20. mobot_room.world-ROS2Gazebo9附1

热门文章

  1. C# int[,] 和 int[][]
  2. Unity SRP自定义渲染管线 -- 1.Custom Pipeline
  3. java Ajax cache_ajax之cache血与泪~~
  4. CentOS 6.5系统安装配置LAMP(Apache+PHP5+MySQL)服务器环境
  5. HDU6438 Buy and Resell 解题报告(一个有趣的贪心问题的严格证明)
  6. CSS3的calc()使用
  7. dyld: Library not loaded: @rpath/libswiftCore.dylib 解决方法
  8. Spring学习笔记—最小化Spring XML配置
  9. 编译安装 apache 2.4.6
  10. asp.net Session丢失问题