aosp12源码编译

本文档详细介绍了如何从零开始配置环境并使用AOSP(Android Open Source Project)源码进行编译。主要内容包括安装Git、配置Repo工具、同步源码、编译源码等步骤,并针对过程中可能出现的问题提供了解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

##1.配置git

# 安装git
sudo apt-get install git
# 配置账号信息
git config --global user.name "xxx"
git config --global user.email "xxx"

##2.配置repo

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

# 如果同步时出现无法访问,可以修改REPO_URL
REPO_URL = 'https://gerrit-googlesource.proxy.ustclug.org/git-repo'

##3.同步源码
按照清华源的方法,使用每月更新的初始化包

wget -c https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar
tar xf aosp-latest.tar
cd aosp
repo sync -j8 # 正常同步一遍即可得到完整目录,-j 指定线程数,一般不要太大

aosp-latest.tar压缩包大约有165G,同步成功后如图:
源码目录

##4.源码编译

source build/envsetup.sh
# 指定机器型号sdk_phone_x86_64,电脑模拟器可以运行
lunch sdk_phone_x86_64
# 直接lunch是看不到这个选项的,实际上是存在的,可通过ls build/make/target/product/sdk_phone*查看
m -j8

编译成功后通过emulator命令运行模拟器,效果如图
模拟器运行

##5.常见错误

  • error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory

    suo apt-get install libncurses* 安装相应库

  • qemu-system-armel: Could not open ‘/media/wdp/Seagate/source/Android12/aosp/out/target/product/generic/userdata-qemu.img’: No such file or directory

    lunch sdk_phone_x86_64 这个即可

  • 模拟器打开后电脑卡死 或者出现Emulator terminated with exit code 139

    推测是电脑硬件加速导致的,可以在启动模拟器的时候指定为软件加速,命令为emulator -gpu swiftshader_indirect

##6.参考文档
AOSP官网
使用 Android 模拟器虚拟设备
Android 镜像使用帮助

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值