前言
本人——入行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
我遇到了以下问题:
- 当我执行第二步
repo sync
时,进度到99%时死活不动,尝试了多次。 - 执行第三步
repo start android-13.0.0_r7 --all
时出现了好多“no such file”的问题,并且最后有很多项目并没有切换到我想要的分支。
解决方案
因为当时花了很多时间,心态有点爆炸,每个repo命令都需要很长时间去响应,所以并没有去尝试解决,最终选择了直接repo init
的方法,一次成功!。。
2. undefined
如果评论区有遇到其他问题将会更新到这边
解决方案
后语
后面可能会先尝试解锁电信。本文参考:文章来源:https://www.toymoban.com/news/detail-629139.html
- AOSP搭建构建环境
- Android 镜像使用帮助
- 编译 Android
- 源代码标记和 build
—end—
持续更新中…(如果还有的后续的话文章来源地址https://www.toymoban.com/news/detail-629139.html
- 有啥不足, 可以在下方指正
- 有啥建议, 可以在下方提出
- 有啥问题, 可以在下方评论
- …
到了这里,关于0.【AOSP+Pixel 5】Android13 开发环境搭建及源码下载、编译和刷机的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!