安卓ASOP编译刷机

最近研究定制AOSP源码,自己编译刷机,写一个简单的环境搭建过程,记录下

我的ubuntu 18.04虚拟机配置如下

内存:8G

处理器:4核(编译主要看这个指标)

硬盘:270G

 装完虚拟机后,开始部署环境

1.安装python环境,git vm-tools、htop

 sudo apt install python git open-vm-tools-desktop htop

 2.接下来创建一个bin文件夹,并加入到PATH中

mkdir ~/bin
PATH=~/bin:$PATH 

3.下载编译需要的程序包

 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 ccache libgl1-mesa-dev libxml2-utils xsltproc unzip libncurses5

 4.下载repo并设置可以运行权限。

curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > ~/bin/repo
chmod a+x ~/bin/repo

 5.添加下载源。

export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/'

 然后初始化Git,邮箱和姓名。

git config --global user.email "xxx@gmail.com"
git config --global user.name "xxx"

6. 建立 AOSP目录

mkdir AOSP_9 && cd AOSP_9/

openjdk-8 这里可以不用安装,因为AOSP自带的有java环境

 

 在这里看AOSP各版本代号关系https://source.android.google.cn/docs/setup/start/build-numbers#source-code-tags-and-buildshttps://source.android.google.cn/docs/setup/start/build-numbers#source-code-tags-and-builds

 在这里下载设备对应的驱动

Driver Binaries for Nexus and Pixel Devices  |  Google Play services  |  Google Developershttps://developers.google.cn/android/drivers?hl=zh-cn

 7.初始化Aosp仓库

repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest

  8.初始化并指定版本 这里我选安卓9

  build ID  PQ1A.190105.004

repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-9.0.0_r30

9.同步源代码

repo sync -j4

当我们同步完代码后,还需要下载对应的驱动  驱动要和你的源码的build ID一致

比如我上面下载的源码是android-9.0.0_r30 对应 PQ1A.190105.004,那么驱动也是这个

 10.下载完成后 解压 会生成一个vendor文件夹,将这个vendor 目录拷贝到aosp源码根目录即可

 接着我们开始编译,先激活编译环境

source build/envsetup.sh

export JACK_SERVER_VM_ARGUMENTS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4096m"

11. 然后 lunch

 这里我是 pixel 代号sailfsh,选 45

12. 然后 make -j8

 这就开始编译了

最后我们看到 build complete succussfully 就是成功了

13. 然后设置环境变量 ANDROID_PRODUCT_OUT

export ANDROID_PRODUCT_OUT=/home/pyth0n/AOSP_9/out/target/product/sailfish

 接着

fastboot flashall -w

 如果这里你提示下面的错误

 

可以去掉-w 继续执行,这样就可以刷入手机了

最后如果我们最终修改完所有的源码后,可以在这里下载factory包,替换img,制作刷机包

Factory Images for Nexus and Pixel Devices  |  Google Play services  |  Google Developershttps://developers.google.cn/android/images?hl=zh-cn

 以上就是编译过程

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pyth0nn

送人玫瑰,手留余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值