仅适用于我自己 0....0
双系统Ubuntu编译的话下载源码到Ubuntu本地硬盘,本地硬盘至少有300G的空间,不要挂载其他硬盘,repo sync会出错,下载的源码压缩包很大(>40G),不要随便复制移动,移动一定会出错,就地下载就地解压,所以Ubuntu的本地空间一定要大!!!!
(看我的Ubuntu本地硬盘是350G,我直接下载到本地(Ubuntu系统盘)了,不要下载到EFG盘,刚开始我的Ubuntu系统盘太小了,就选择在G盘操作,结果repo sync时各种错误,如果你的Ubuntu系统盘太小要么重装分区,要么自己想办法扩容,我就是自己把G盘清理了扩容了200g给Ubuntu系统。记住不要移动下载后的压缩包,一定会出错!!!就地下载解压!!!我因为移动压缩包重下了好几次,40多个G, 0..0)
1.下载AOSP源码
清华镜像网站 https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/(先去看一遍再做,节省时间)
第一步:下载,慢慢等。。。。。。。。。。
wget -c https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar # 下载初始化包
tar xf aosp-latest.tar #解压压缩包
第二步:下载一个repo文件在 ~/bin 目录下(如果出错repo sync没反应,或者被迫下载源码重新搞的话回来重新下)
mkdir ~/bin
PATH=~/bin:$PATH
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o repo #(下载repo文件)
第三步:同步源码
chmod a+x ~/bin/repo
(给权限,记得repo sync之前做)
cd 到解压后的aosp文件夹下(默认隐藏了,所以是空白的),执行
repo sync
漫长的等待。。。。。。。。。
第四步:编译环境配置(我简单记录了我自己的,其他自己去查吧)
Ubuntu 16.04下编译AOSP主线代码,要安装OpenJDK 8,执行命令如下:
1604环境配置
sudo apt-get install libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev g++-multilib
sudo apt-get install -y git flex bison gperf build-essential libncurses5-dev:i386
sudo apt-get install tofrodos python-markdown libxml2-utils xsltproc zlib1g-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
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
第五步:编译
repo sync后aosp出现好多目录,执行
source ./build/envsetup.sh
(我执行了这一步没反应23333)
然后编译:
# 这里我选择的是x86体系的源码,eng(BUILD_TYPE)代表的是工程机
# 如果需要模拟器运行的话,选择x86运行速度会快一点
# 如果需要烧写到手机上,那么选择aosp_arm-eng
aosp_arm-eng lunch aosp_x86-eng
make -j8
漫长的等待。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
参考网址:
https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/
https://www.jianshu.com/p/367f0886e62b
https://www.e-learn.cn/content/qita/789860