AOSP编译安卓源码
环境准备
我的环境是deepin x64要linux的不会还有人用Windows写代码吧,这里不是支持国产,是ubuntu装不上我的笔记本,深度的安装配置的还不错,就算你的兼容做的和shit一样
准备150G的空闲区域,用来编译源码,和放源码。源码很小,但是编译之后可以达到150G,最小16G运行内存
下载源码(我的建议是直接百度云)和厂商驱动
链接: https://pan.baidu.com/s/1ueHGw1TnRLAZhh2B7n6G7w 提取码: 0000 (android7.1.1 r1)
你去冲个百度云会员,真的不差这点钱,要是不能用还能下其他版本,直接搜安卓源码百度云即可
这个版本支持我的Nexus 5x你要搞安卓系统的话推荐买一个实体机
https://source.android.google.cn/source/build-numbers?hl=zh-cn#source-code-tags-and-builds
看这个就可以查到你要用那个版本的系统
最左边的代号用来下载厂商驱动的,你下载的源码里面没有,驱动就是类似打电话的,基带的,声音的,每个手机都不一样,所以源码里没有,没有也可以编译不过不能生成vendor.img开不了机
去这里下载https://developers.google.cn/android/drivers 直接搜索NMF26F
把这两个sh文件放到你解压的源码里
//下载驱动 解压到源码根目录 (对应驱动查看请参考下边的 lunch 这一步)
//执行下载的sh驱动脚本,同意授权 最后输入 "I ACCEPT"
依赖安装
//这一步骤 是安装所需的一些环境,可以先不用安装 如果出问题了,再安装,避免安装一些用不到的软件,放在这里的目的是有备无患
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
sudo apt-get install libssl-dev
开始编译
make clobber //清除缓存
source build/envsetup.sh //添加依赖
lunch //选择你要编译的版本,nexus 5x代号bullhead
make -j24 //开12个线程,一般核数两倍跑满cpu
报错:ninja: build stopped: subcommand failed.ninja failed with: exit status 1
你直接搜这个是搜不到你到底错在哪里的
直接运行:export LC_ALL=C
刷机
手机进fastboot
fastboot flashall -w
运行,没有就安装,如果出现 fastboot: error: ANDROID_PRODUCT_OUT not set错误
export ANDROID_PRODUCT_OUT=android-7.1.1_r1/out/target/product/bullhead
这个地方是生成编译结果的地方也就是img的地方