AOSP 编译&刷机
文章参考 AOSP 编译和烧写
文章目录
1. 简介
自己喜欢折腾, 想要自己修改源代码, 编译并刷机.
硬件: Pixel 3A
源码: Android 10.0
系统: Ubuntu 16.04
2. 准备
Google 为我们操碎了心, 为我们提供了一系列的教程供我们学习
- https://source.android.com/setup/build/initializing
- https://source.android.com/setup/create/coding-tasks
- https://source.android.com/setup/build/downloading
- https://source.android.com/setup/build/building
- https://source.android.com/setup/build/building-kernels
2.1 编译系统准备
https://source.android.com/setup/build/initializing
自己准备一台 Ubuntu 16.04 电脑, 可以在实体电脑上, 也可以开启一个虚拟机, 建议内存至少12GB, 不然可能会因为内存不够出现编译出错的情况.
安装一些必要的工具
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
2.2 源码下载
2.2.1 查找驱动
https://developers.google.com/android/drivers
不同的设备驱动有所不同, 国内手机厂商的驱动多是不开放的, 可以尝试去上述网站找找看, 以 Pixel 3A 手机为例.
2.2.2 查找分支
https://source.android.com/setup/start/build-numbers#source-code-tags-and-builds
根据 2.2.1 查到的 Build 代号, 在上述网站找到相应的分支名, 有可能找不到这个代号, 需要在网页右上角将语言改为英语.
2.2.3 下载源码
https://source.android.com/setup/build/downloading
源码根据官方教程下载既可, 但因为网络原因不能正常访问, 建议访问下面的网站下载:
从 Google 官网下载步骤如下:
- 安装 Repo 工具
mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo