Ubuntu 18.04编译AOSP源码
总结一下我从Ubuntu 18.04下编译成功AOSP的过程,以及遇到的坑
我的电脑配置:
OS: Ubuntu 18.04 bionic
Kernel: x86_64 Linux 4.18.0-17-generic
CPU: Intel Core i5-8250U(4核8线程)
RAM: 8G
步骤1:
某些步骤可以先跳过,后面再设置
如果你的电脑也是8G内存(16G可以跳过这个步骤),就需要设置交换空间,否则到后面会出现内存不足的情况,参考:如何在Ubuntu 16.04上增加Swap分区
步骤2:
建议替换国内源:
sudo apt update vim #先安装vim
sudo apt install vim -y
sudo
vim
/etc/apt/sources
.list #或者
sudo
gedit
/etc/apt/sources
.list
用#注释所有内容,粘贴以下内容:
deb http:
//mirrors
.aliyun.com
/ubuntu/
trusty main restricted universe multiverse
deb http:
//mirrors
.aliyun.com
/ubuntu/
trusty-security main restricted universe multiverse
deb http:
//mirrors
.aliyun.com
/ubuntu/
trusty-updates main restricted universe multiverse
deb http:
//mirrors
.aliyun.com
/ubuntu/
trusty-proposed main restricted universe multiverse
deb http:
//mirrors
.aliyun.com
/ubuntu/
trusty-backports main restricted universe multiverse
deb-src http:
//mirrors
.aliyun.com
/ubuntu/
trusty main restricted universe multiverse
deb-src http:
//mirrors
.aliyun.com
/ubuntu/
trusty-security main restricted universe multiverse
deb-src http:
//mirrors
.aliyun.com
/ubuntu/
trusty-updates main restricted universe multiverse
deb-src http:
//mirrors
.aliyun.com
/ubuntu/
trusty-proposed main restricted universe multiverse
deb-src http:
//mirrors
.aliyun.com
/ubuntu/
trusty-backports main restricted universe multiverse
依次安装
sudo apt update
sudo apt install git -y
sudo apt install repo -y
sudo apt install openjdk-8-jdk -y #请输入java -version确认安装正确
步骤3:
到清华大学开源软件镜像站下载初始化包(aosp-latest.tar
)
tar xf aosp-latest.tar
#下载完成后解压
cd
aosp-latest
/aosp
ls -a #应该只有一个.repo隐藏目录
repo sync #检出目录树
可能需要一个小时左右,完成后应该会显示:Syncing work tree:100%(xxx/xxx),done.
ls -a #如下
步骤4:
安装各种依赖:
sudo apt-get install libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev g++-multilib -y
sudo apt-get install -y git flex bison gperf build-essential libncurses5-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 -y
sudo apt-get install lib32ncurses5-dev x11proto-core-dev libx11-dev
sudo apt-get install libgl1-mesa-dev libxml2-utils xsltproc unzip m4
sudo apt-get install lib32z-dev ccache
sudo apt install make make-guile -y
sudo apt-get install tofrodos -y
sudo apt-get install python-markdown libxml2-utils xsltproc zlib1g-dev:i386
这时可能无法安装libesd0-dev
sudo
vim
/etc/apt/sources
.list
在最后添加:
deb http://kr.archive.ubuntu.com/ubuntu/ xenial main universe
deb-src http://kr.archive.ubuntu.com/ubuntu/ xenial main universe
sudo apt update
再
sudo apt install libesd0-dev
最后一步:
#export LC_ALL=C添加到~/.bashrc
echo "export LC_ALL=C" >> ~/.bashrc
source ~/.bashrc
链接文件
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
重新打开终端
cd到aosp根目录
ls -a #应该是这样
source build/envsetup.sh
#lunch 不带参数运行,会显示各个版本和对应序号
lunch aosp_arm64-eng #也可以lunch后手动选择
#CPU 4核8线程应输入-j8,2核4线程-j4:
make -j8 #开始编译
不出意外,若干小时后应该就会编译成功
启动模拟器
如果编译完成后关闭了终端窗口,则需要用以下方式启动模拟器
source build/envsetup.sh
lunch 2 #这里填序号aosp_arm64-eng为2
emulator
我用i5-8250U编译完成 用了8小时38分(下午3点多开始编译,00点完成)
看来真的该换电脑了 - -!
Ubuntu 18.04编译AOSP源码的更多相关文章
- Ubuntu 18.04 安装 odoo12 源码版
更新和升级 在我们进入安装过程之前,你应该更新和升级Ubuntu.打开终端窗口,发出以下命令: sudo apt-get updatesudo apt-get upgrade 注意:如果内核升级,则必 ...
- Ubuntu 18.04 编译 ijkplayer
Ubuntu 18.04 编译 ijkplayer 1. 配置安装源 https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu 2. 配置好安装源后,安装一些组 ...
- Ubuntu 18.04修改默认源
安装Ubuntu 18.04后,使用国外源太慢了,修改为国内源会快很多. 修改阿里源为Ubuntu 18.04默认的源 备份/etc/apt/sources.list #备份 cp /etc/apt/ ...
- Ubuntu 18.04修改默认源为国内源
安装Ubuntu 18.04后,使用国外源太慢了,修改为国内源会快很多. 修改阿里源为Ubuntu 18.04默认的源 备份/etc/apt/sources.list 备份 cp /etc/apt/s ...
- Ubuntu 12.04 Android2.2源码make** /classes-full-debug.jar Error 41错误解决
出现make: *** [out/target/common/obj/APPS/CMParts_intermediates/classes-full-debug.jar] Error 41这样的错误最 ...
- ubuntu 18.04编译opencv3.4.3 with python3.6 cuda9.2 gdal
惭愧,之前一直没在linux下编译过opencv,也没用过纯命令行版的cmake,现在咬牙编译一次.其实感觉还凑合. opencv官网文档还是那么烂:https://docs.opencv.org/m ...
- ubuntu中Eclipse-cpp编译MySQL源码
1.下载eclipse-cpp-mars-2-linux-gtk-x86_64.tar.gz压缩包,在Ubuntu中解压,运行. 此处有可能会出现jdk错误,只要原因是因为jdk没安装或者jdk版本太 ...
- Ubuntu 14.04下从源码安装qt4.x
转自:http://www.cnblogs.com/crazywangzx/p/3505293.html 1.到官网http://qt-project.org/downloads或者ftp://ftp ...
- ubuntu14.04编译mono源码(有坑...)
从github上下载了mono的源码,然后打算编译了.百度了一下教程,我去...居然没有教程.换bing搜索一下,我去...还是没有.关键字换一下:how to build mono on linu ...
随机推荐
- 【转】sentry 实时事件日志聚合平台
1.install postgreSQL(v9.6)2.pip install sentry(v8.13.0)3.sentry init #初始化配置文件 4.配置好postgreSQL 需要连接re ...
- mondrian 4.7 源码部署
mondrian是一个开源的数据分析工程, 网上有关mondrian3.X的源码部署比较多, 有关4.X的部署较少. 目前官方推荐使用的时mondrian3.7的修订版, 可以再github上下载到最 ...
- CentOS7快速搭建LNMP环境
名词解释: LNMP:Linux+Nginx+MySql+PHPLAMP:LInux+Apache+MySql+PHPNginx的正确读法应该是Engine X我们使用CentOS自带的YUM来安装 ...
- Java的锁
今天练习了Java的多线程,提到多线程就基本就会用到锁 Java通过关键字及几个类实现了锁的机制,这里先介绍下Java都有哪些锁: 一.Java实现锁的机制: Java运行到包含锁的代码时,获取尝 ...
- 用nginx缓存静态文件
这篇教程说明你应该怎样配置 nginx.设置 HTTP 头部过期时间,用 Cache-Control 中的 max-age 标记为静态文件(比如图片. CSS 和 Javascript 文件) ...
- MySQL(二)MySQL的安装和简单使用
1.MySQL产品的介绍 MySQL数据库属于MySQL AB公司,总部位于瑞典,后被Oracle收购. 优点: (1)成本低:开放源代码,可以免费使用 (2)性能高:执行很快 (2)简单:很容易安装 ...
- 你不知道的JavaScript--Item22 Date对象全解析
本篇主要介绍 Date 日期和时间对象的操作. 1. 介绍 1.1 说明 Date对象,是操作日期和时间的对象.Date对象对日期和时间的操作只能通过方法. 1.2 属性 无: Date对象对日期和时 ...
- jQuery学习之旅 Item2 选择器【二】
这里接着上一个Item1 把jQuery的选择器讲完.主要有:属性过滤器和子元素过滤器 点击"名称"会跳转到此方法的jQuery官方说明文档. 5. 属性过滤器 Attribute ...
- python之12306自动查票
一.导读 本篇文章所采用的技术仅用于学习.研究,任何其他用途请自行承担后果. 12306自动查票使用到的python库主要是splinter,同时也涉及到查票的城市编码,具体的城市编码请在网络上搜 ...
- Tomcat 优化方案 和 配置详解(转)
转自 Tomcat 优化方案 和 配置详解 http://201605130349.iteye.com/blog/2298985 Server.xml配置文件用于对整个容器进行相关的配置. <S ...