aosp 15最新安卓源码编译与刷机

编译环境准备:

window10+wsl Ubuntu-22.04进行编译:首先在Microsoft store安装Ubuntu 22.04.5 LTS,安装完成后需要将wsl的镜像导出来,不然c盘就被代码占满了。

首先启用WSL:

我们需要到控制面板-程序-程序和功能-启用或关闭Windows功能中将适用于Linux的Windows子系统选项虚拟机平台打开,若没打开需要点击确定之后重启。

然后使用以下两个命令导出Ubuntu 22.04.5 LTS镜像文件,具体步骤如下:

  1. 关闭wsl:wsl --shutdown

  2. 查看安装的镜像名称:wsl -l -v
  3. 导出wsl镜像包,在你要导出的目录新建目录WSL_Backup,确保有足够的内存(至少300G):wsl --export Ubuntu-22.04 E:\WSL_Backup\Ubuntu-22.04.tar

  4. 注销之前从Microsoft store安装下载的镜像:wsl --unregister Ubuntu-22.04

  5. 导入镜像:wsl --import Android E:\AndroidWSL E:\WSL_Backup\Ubuntu-22.04.tar, Android是Ubuntu-22.04的名字(可以用wsl -l -v看到),E:\AndroidWSL是新镜像的目录,E:\WSL_Backup\Ubuntu-22.04.tar是被导出的镜像目录;安装完成之后在E:\AndroidWSL 查看会有一个虚拟硬盘文件ext4.vhdx。

  6. 启动Ubuntu-22.04,这时候就会在新的目录启动Ubuntu-22.04了。

  7. wsl目录挂载,选择映射网络驱动器挂载以下目录。

    \\wsl$\Android
  8. swap分区设置。

    1.查看 Linux 当前分区情况:
    free -m
    2.如果是增加 swap 分区,则先把当前所有分区都关闭了:
    sudo swapoff -a
    3.创建要作为 Swap 分区文件(其中 /var/swapfile 是文件位置,bs*count 是文件大下,例如以下命令就会创建一个 4G 的文件)
    sudo dd if=/dev/zero of=/var/swapfile bs=1G count=60
    4. 建立 Swap 的文件系统(格式化为 Swap 分区文件): 
    sudo mkswap /var/swapfile
    5. 启用 Swap 分区:  
    sudo swapon /var/swapfile
    6. 查看 Linux 当前分区确认设置是否成功:
    free -m
    7. 设置开启启动,在 /etc/fstab 文件中加入一行代码:
    sudo blkid /var/swapfile 查看UUID对应的ID,替换下面的命令,加入到/etc/fstab 
    添加:UUID=f2f8e0e0-1a9e-4d8c-9e0b-5b7c3e6b5b8c none swap sw 0 0 到swap文件
    vim /etc/fstab 
最新android源码下载:

清华大学开源软件镜像站 AOSP | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

1.repo工具下载

mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo

2.使用清华大学镜像源下载git-repo | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror。 

cd bin/
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o repo
chmod +x repo

3.替换本地下载地址为清华源:

export REPO_URL=https://mirrors.tuna.tsinghua.edu.cn/git/git-repo
export ANDROID_HOME=${HOME}/Android/Sdk
PATH="$HOME/bin:$HOME/.local/bin:$HOME/.bin:$ANDROID_HOME/platform-tools:$ANDROID_HOME/tools:$PATH"

4.安装相关工具:

#安装git和python3:
sudo apt-get install git
sudo apt-get install python3
#还需要安装以下工具:
需要安装以下工具:
sudo apt-get install unzip
sudo apt-get install zip
sudo apt-get install adb
sudo apt-get install git-core
sudo apt-get install gnupg
sudo apt-get install flex
sudo apt-get install bison
sudo apt-get install build-essential
sudo apt-get install curl
sudo apt-get install zlib1g-dev
sudo apt-get install gcc-multilib
sudo apt-get install libc6-dev-i386
sudo apt-get install libncurses5
sudo apt-get install libncurses5-dev
sudo apt-get install x11proto-core-dev
sudo apt-get install libx11-dev
sudo apt-get install lib32z1-dev
sudo apt-get install libgl1-mesa-dev
sudo apt-get install libxml2-utils
sudo apt-get install xsltproc
sudo apt-get install fontconfig
sudo apt-get install gperf
sudo apt-get install g++
sudo apt-get install libc6-dev-armel-cross
sudo apt-get install libreadline6-dev
sudo apt-get install openjdk-8-jdk
sudo apt-get install python-markdown
#默认python命令指向了python2.7,我们需要将python命令指向python3.7
sudo ln -sf /usr/bin/python3 /usr/bin/pythonsudo apt-get install git
配置git名称和邮箱:
git config --global user.name userName
git config --global user.email "userName@qq.com"

5.下载aosp仓库:

repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-15.0.0_r20

6.拉代码:

repo sync -j16
编译system镜像文件:
编译命令:
source build/envsetup.sh
lunch aosp_raven-bp1a-userdebug
make target-files-package
#如果lunch之后没有列表可以执行以下命令就会显示列表了:
./extract-google_devices-raven.sh
list_products
具体lunch哪一个要到谷歌官网查找相应的版本号:
比如下载的代码分支是:android-15.0.0_r20 BUILD_ID是:BP1A.250305.019
我这里用的pixel 6pro进行编译,那么就是 aosp_raven-bp1a-userdebug。
其中aosp_raven是用list_products查看的。
后面的bp1a是查看BUILD_ID前面点的小写,后面是固定的可以编userdebug、user、eng的。
刷机:

刷机需要找到本地代码版本和对应pixel手机对应的驱动文件,使用build ID对应的驱动二进制文件刷写到设备中。

代码版本:代号、标记和 build 号  |  Android Open Source Project

驱动二进制文件:Nexus 和 Pixel 设备的驱动程序二进制文件  |  Google Play services  |  Google for Developers

#进入fastboot模式
adb reboot bootloader
#清除metadata和userdata数据
fastboot flashall -w
#刷编译产物
fastboot flash system /out/target/product/generic_arm64/obj/PACKAGING/target_files_intermediates/aosp_arm64-target_files/IMAGES/system.img

写在最后:无法下载镜像?

把下载地址的dl和前面的域名改为dl.google.com就可以下载了:
https://googledownloads.cn/dl/android/aosp/raven-ota-bp1a.250305.019-2c923d08.zip
https://dl.google.com/dl/android/aosp/raven-ota-bp1a.250305.019-2c923d08.zip

    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值