ubuntu16.04下编译android 8.1.0源码
电脑配置
双核,内存最少8G(最好16G以上,内存不足编译通不过),硬盘200G以上(最好300G方便后面改源码),独立安装Ubuntu16.04系统
安装ubuntu16.04
因为这个版本可以直接安装openjdk-8,如果其他版本自行找方法;由于我的电脑是win7的,所以安装vm虚拟机,再进行ubuntu的安装,虚拟机的安装和配置请自行百度;
注意:虚拟机需要开启虚拟化,不然启动模拟器会报错
1605855367(1).jpgubuntu16.04 Kylin (64位)
下载链接地址:https://pan.baidu.com/s/1b1PBjZfTBOWNndDgdo8Y0w 提取码:nuw6
openjdk 8的安装
sudo apt-get install openjdk-8-jdk
设置默认java和javac(可选)
由于本人当前Ubuntu上没有安装其他版本的jdk,所以跳过此步骤
sudo update-alternatives --config java
sudo update-alternatives --config javac
检查版本
java -version
打印如下:
openjdk version "1.8.0_272"
OpenJDK Runtime Environment (build 1.8.0_272-8u272-b10-0ubuntu1~16.04-b10)
OpenJDK 64-Bit Server VM (build 25.272-b10, mixed mode)
安装所需的软件软件包
安装全部都填写yes
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 libgl1-mesa-dev libxml2-utils xsltproc unzip
源码下载
网络下载方法:
国内不可以访问google故无法下载aosp源码,国内清华大学源有相关镜像
参考链接:https://mirror.tuna.tsinghua.edu.cn/help/AOSP/
本地解压方式:
下载链接地址:https://pan.baidu.com/s/1k4rsUF7kteIH_Q6TnFt5Ew 提取码:g51e
百度云下载相关的源码包,进行本地解压,下载我提供的百度云链接android-8.1.0_r1.7z文件
1. sudo apt-get install p7zip
2. 7zr x android-8.1.0_r1.7z
会有一个overwirte提示直接输入:y同意既可以,解压完成;
Sub items Errors:1
解压完成可能会报个错误,正常的忽略它。
编译aosp代码
1、 . build/envsetup.sh
1605864202(1).jpg2、lunch
这里我们选择:6 –-- > aosp_x86_64
3、make 或者(make -j8 让make最多允许8个编译命令同时执行,这样可以更有效的利用CPU资源,根据自己电脑cpu核心数来设置)
经历大概几个小时等待,
出现如下打印代表成功:
#### build completed successfully (02:36:08 (hh:mm:ss)) ####
源码路径不要有中文路径,编译源码时可能会出现以下错误:
ninja: build stopped: subcommand failed.
最好make之前设置下:
ulimit -a 用来显示当前的各种用户进程限制
Linux对于每个用户,系统限制其最大进程数,为提高性能,可以根据设备资源情况,
设置个Linux用户的最大进程数,一些需要设置为无限制:
数据段长度无限制:ulimit -d unlimited
最大内存大小无限制:ulimit -m unlimited
堆栈大小无限制:ulimit -s unlimited
core文件大小无限制:ulimit -c unlimited
1605865821(1).jpg
4、执行命令:emulator,出现如下图界面
由于我编译过,所以再次编译几分钟就成功了
2020-11-12 11-15-19屏幕截图.png如果本文有帮到你,记得点赞加关注哦
网友评论