news 2026/5/5 17:36:08

Aosp13 Vmware16 Ubuntu24.04 环境搭建

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Aosp13 Vmware16 Ubuntu24.04 环境搭建

准备工作

  • 安装Vmware16
  • 下载Ubuntu 24.04

https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/22.04.5/

  • 下载Aosp 13的源码

感谢这位大哥提供的资源
https://zwc365.com/2020/08/30/android10-baiduwangpan

  • Vmware 上安装Ubuntu 24.04
    虚拟机硬盘分配要250GB及以上,内存要20GB及以上,安装的时候最好是多文件创建虚拟机,为后期虚拟机硬盘不够扩充提供便利

安装vm-open-tools

# 1. 更新软件包列表sudoaptupdate# 2. 安装 open-vm-tools(包含命令行工具)sudoaptinstallopen-vm-tools-y# 3. 如果你的系统有图形界面,强烈建议再安装桌面增强组件sudoaptinstallopen-vm-tools-desktop-y# 4. 安装完成后重启,让所有服务生效sudoreboot

共享文件夹设置

  • Vmware 配置共享文件夹
# 查看 /mnt/hgfs/ 目录,这里应该能看到你在 VMware 中设置的共享文件夹名称ls/mnt/hgfs/# 如果没有就如下运行sudomkdir-p/mnt/hgfssudovmhgfs-fuse .host:/ /mnt/hgfs-oallow_other# 我这里共享的是百度网盘的下载目录cd/mnt/hgfs/BaiduNetdiskDownload/# 然后将文件拷贝到了Documents文件夹下cp/mnt/hgfs/BaiduNetdiskDownload/android13-r44.7z.* ~/Documents/# 解压7z的文件格式# 先安装sudoaptinstallp7zip-full-y# 解压到指定目录mkdir-p~/aosp13 7z x android13-r44.7z.001 -o$HOME/aosp13# 过程中选 A(u)to rename all

Aosp环境配置

sudoapt-getinstallopenjdk-8-jdk
  • 剩下的依赖脚本
#!/bin/bash# AOSP 编译依赖安装脚本# 适用于 Ubuntu 24.04 (Noble Numbat)set-e# 遇到错误立即退出echo"=========================================="echo"开始安装 AOSP 编译所需依赖包"echo"系统版本:Ubuntu 24.04"echo"=========================================="# 更新软件包列表echo"正在更新软件包列表..."sudoapt-getupdate# 安装所有依赖(针对 Ubuntu 24.04 优化)echo"正在安装依赖包,请稍候..."# 基础编译工具sudoapt-getinstall-y\git\gnupg\flex\bison\gperf\build-essential\zip\curl\tofrodos\unzip\m4\ccache# Python 相关sudoapt-getinstall-y\python3-markdown# XML 处理工具sudoapt-getinstall-y\libxml2-utils\xsltproc# 开发库(32位和64位)sudoapt-getinstall-y\libssl-dev\libncurses5\libncurses5-dev\lib32ncurses-dev\libreadline-dev:i386\libx11-dev:i386\libx11-dev\libgl1-mesa-dev\lib32z1-dev\libc6-dev-i386\zlib1g-dev:i386\zlib1g-dev\libsdl1.2-dev\dpkg-dev\x11proto-core-dev# 多架构编译支持sudoapt-getinstall-y\gcc-multilib\lib32z1# Ubuntu 24.04 额外需要的兼容包echo"安装 Ubuntu 24.04 额外兼容包..."sudoapt-getinstall-y\libtinfo5\libncurses5\lib32tinfo-dev2>/dev/null||trueecho"=========================================="echo"依赖安装完成!"echo"=========================================="# 显示 ccache 配置建议echo""echo"📌 提示:建议配置 ccache 以加速后续编译"echo""echo"请执行以下命令配置 ccache:"echo" echo 'export USE_CCACHE=1' >> ~/.bashrc"echo" echo 'export CCACHE_EXEC=/usr/bin/ccache' >> ~/.bashrc"echo" source ~/.bashrc"echo" ccache -M 50G # 根据磁盘空间调整大小(50G 为推荐值)"echo""echo"=========================================="echo"验证关键工具是否安装成功:"echo"=========================================="# 检查关键命令check_command(){ifcommand-v$1&>/dev/null;thenecho" ✅$1已安装"elseecho" ❌$1未安装"fi}forcmdingitflex bison gperfmakeccachezipcurlpython3;docheck_command$cmddoneecho""echo"=========================================="echo"所有依赖安装完毕!"echo"=========================================="
  • 或者一行命令也行,等价于以上脚本
sudoapt-getupdate&&sudoapt-getinstall-ygitgnupg flex bison gperf build-essentialzipcurltofrodosunzipm4 ccache python3-markdown libxml2-utils xsltproc libssl-dev libncurses5 libncurses5-dev lib32ncurses-dev libreadline-dev:i386 libx11-dev:i386 libx11-dev libgl1-mesa-dev lib32z1-dev libc6-dev-i386 zlib1g-dev:i386 zlib1g-dev libsdl1.2-dev dpkg-dev x11proto-core-dev gcc-multilib lib32z1 libtinfo5

编译

source./build/envsetup.sh#根据自己的需要选择编译的目标,我这里选择 aosp_x86_64-englunch43#根据自己的机器做判断make-j4

异常解析

[29%118/397]testgithub.com/google/blueprint/pathtools FAILED: out/host/linux-x86/bin/go/blueprint-pathtools/test/test.passed out/host/linux-x86/bin/gotestrunner-pbuild/blueprint/pathtools-fout/host/linux-x86/bin/go/blueprint-pathtools/test/test.passed -- out/host/linux-x86/bin/go/blueprint-pathtools/test/test-test.short--- FAIL: TestGlobEscapes(0.00s)--- FAIL: TestGlobEscapes/**/*(0.00s)glob_test.go:571: incorrect matches list: glob_test.go:571: pattern:"**/*"glob_test.go:571: got:[]string{"**/","a/","b","**/a","**/b/","**/b/b","a/a"}glob_test.go:571: expected:[]string{"*","**/","?","a/","b","**/*","**/a","**/b/","**/b/b","a/a"}--- FAIL: TestGlobEscapes/**/\*(0.00s)glob_test.go:571: incorrect matches list: glob_test.go:571: pattern:"**/\\*"glob_test.go:571: got:[]string(nil)glob_test.go:571: expected:[]string{"*","**/*"}--- FAIL: TestGlobEscapes/\*\*/*(0.00s)glob_test.go:571: incorrect matches list: glob_test.go:571: pattern:"\\*\\*/*"glob_test.go:571: got:[]string{"**/a","**/b/"}glob_test.go:571: expected:[]string{"**/*","**/a","**/b/"}--- FAIL: TestGlobEscapes/\*\*/**/*(0.00s)glob_test.go:571: incorrect matches list: glob_test.go:571: pattern:"\\*\\*/**/*"glob_test.go:571: got:[]string{"**/a","**/b/","**/b/b"}glob_test.go:571: expected:[]string{"**/*","**/a","**/b/","**/b/b"}FAIL 02:28:51 soong bootstrap failed with:exitstatus1
  • 解决
./build/buleprint 找到Android.bp 删除所有testSrcs中包含: fs_test.go 、 glob_test.go 的相关行makeclean
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/5 17:35:36

云原生成本监控利器:costclaw-telemetry架构解析与实战

1. 项目概述与核心价值最近在折腾一个开源项目,叫queenvest0-ux/costclaw-telemetry。光看名字,你可能觉得这又是一个平平无奇的“成本监控”工具。但当我深入代码和设计文档后,发现它的定位非常精准,直击当前云原生和微服务架构下…

作者头像 李华
网站建设 2026/5/5 17:28:37

从零部署自托管AI助手OpenClaw:私有化、多平台与自动化实战

1. 从零到一:为什么我们需要一个自托管的AI助手? 如果你和我一样,每天在Telegram、Discord、WhatsApp这些通讯软件里花费大量时间,处理工作消息、安排日程、查找信息,那你肯定也想过:要是能有个24小时在线…

作者头像 李华
网站建设 2026/5/5 17:28:07

AI背景移除革命:从复杂操作到一键完成的效率飞跃

AI背景移除革命:从复杂操作到一键完成的效率飞跃 【免费下载链接】backgroundremover Background Remover lets you Remove Background from images and video using AI with a simple command line interface that is free and open source. 项目地址: https://g…

作者头像 李华
网站建设 2026/5/5 17:28:05

罗技PUBG鼠标宏压枪脚本:3步实现智能后坐力控制的完整指南

罗技PUBG鼠标宏压枪脚本:3步实现智能后坐力控制的完整指南 【免费下载链接】logitech-pubg PUBG no recoil script for Logitech gaming mouse / 绝地求生 罗技 鼠标宏 项目地址: https://gitcode.com/gh_mirrors/lo/logitech-pubg 在《绝地求生》的激烈对抗…

作者头像 李华
网站建设 2026/5/5 17:27:25

WarcraftHelper完整指南:三步让魔兽争霸3焕发新生

WarcraftHelper完整指南:三步让魔兽争霸3焕发新生 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 你是否还在为《魔兽争霸3》在现代电脑上…

作者头像 李华
网站建设 2026/5/5 17:26:29

ACP科普:什么是挣值(Earned Value)

Earned Value(挣值,EV)是项目管理中最强大的绩效测量工具之一。核心概念:EV 不是"成本",而是"价值"Earned Value(挣值) 的本质是:到某个时间点,你实…

作者头像 李华