0.【AOSP+Pixel 5】Android13 开发环境搭建及源码下载、编译和刷机

前言

本人——入行Android没多久的萌新一枚。这个系列文章主要是我客制化Android系统的一些记录。以下是我的开发环境的信息:

  • Android 版本:13
  • Android 设备:Pixel 5(欧版)
  • 操作系统:Ubuntu 20.04.5 LTS(64位)

搭建开发环境

先更新一下软件源和软件

sudo apt-get update
sudo apt-get upgrade

1. 安装Git

sudo apt-get install git
git config --global user.name "xx"
git config --global user.email "xx@xx.com"

2. 安装OpenJDK

# 安装jdk1.8
sudo apt-get install openjdk-8-jdk
sudo apt-get install openjdk-8-jre
# 切换Java版本
sudo update-alternatives --config java # 选择切换java版本
sudo update-alternatives --config javac # 选择切换javac版本

3. Python环境

Ubuntu 20.04 LTS已经移除Python2,默认安装python3,但是很多时候还是会经常用到python2.7版本,这里首先单独安装python2.7,然后配置python2和python3,以达到手动切换系统默认python版本。

sudo apt install python2
# 将/usr/bin/python2优先级设置为1,将/usr/bin/python3的优先级设置为2
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2  1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3  2
# 选择切换Python版本
sudo update-alternatives --config python 
python --version # 查看Python版本

pip 有需要可自行安装

4. 安装需要的软件包

# 安装所需要的软件包
sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 libncurses5 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig

5. repo环境

mkdir ~/bin
PATH=~/bin:$PATH
cd ~/bin
# google repo链接:https://storage.googleapis.com/git-repo-downloads/repo
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o repo
chmod a+x ~/bin/repo
# repo 改成清华源
export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'

源码下载、编译和刷机

1. 下载源码

因为使用的机器是Pixel5,参考源代码标记和 build下载android-13.0.0_r7分支的代码。

repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-13.0.0_r7
# 代码同步
repo sync 
# 要加速同步,请传递-c (当前分支)和-j threadcount标志
repo sync -c -j8

2. 编译源码

source build/envsetup.sh # . build/envsetup.sh
# 选择目标
lunch aosp_redfin-userdebug
# 构建代码
m

3. 刷机

# 使用 fastboot 刷机
# 进入 fastboot 模式
adb reboot bootloader
fastboot flashall -w # 执行这个命令前要source过; -w 选项会擦除设备上的 /data 分区;该选项在您第一次刷写特定设备时非常有用,但在其他情况下则没必要使用。

刷机后的效果截图:
刷机后的效果截图

遇到的问题及解决方案

1. 使用初始化包下载源码

清华大学镜像站提供了一种提供每月更新的初始化包下载,详情可访问Android 镜像使用帮助查看。

我个人花挺长时间去尝试,因为repo sync后是master分支,所以我需要android-13.0.0_r7分支。我使用以下命令切换:

repo init -b android-13.0.0_r7
repo sync   # 如果不需要与服务器数据一致,可以不运行该步
repo start android-13.0.0_r7 --all 

我遇到了以下问题:

  1. 当我执行第二步repo sync时,进度到99%时死活不动,尝试了多次。
  2. 执行第三步repo start android-13.0.0_r7 --all 时出现了好多“no such file”的问题,并且最后有很多项目并没有切换到我想要的分支。

解决方案

因为当时花了很多时间,心态有点爆炸,每个repo命令都需要很长时间去响应,所以并没有去尝试解决,最终选择了直接repo init的方法,一次成功!。。

2. undefined

如果评论区有遇到其他问题将会更新到这边

解决方案

后语

后面可能会先尝试解锁电信。本文参考:

—end—
持续更新中…(如果还有的后续的话

  • 有啥不足, 可以在下方指正
  • 有啥建议, 可以在下方提出
  • 有啥问题, 可以在下方评论
  • 0
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值