AOSP Ubuntu编译环境搭建
一、搭建环境Liunx系统Ubuntu18.04 Android系统12现在open-vm-tools推荐open-vm-tools-desktop能够实现分辨率自适应可以直接通过apt安装速度快只有13M一键安装安装流程换源换成国内aliyun或者清华sudo apt update sudo apt-get install open-vm-tools-desktop -y给Ubuntu增加虚拟内存Linux 的交换分区swap或者叫内存置换空间swap space是磁盘上的一块区域可以是一个分区也可以是一个文件或者是他们的组合。交换分区的作用是当系统物理内存吃紧时Linux 会将内存中不常访问的数据保存到 swap 上这样系统就有更多的物理内存为各个进程服务而当系统需要访问 swap 上存储的内容时再将 swap 上的数据加载到内存中也就是常说的 swap out 和 swap in。首先查看是否已经存在交换空间终端输入free -m我们安装的Ubuntu默认有2G大小的swap空间使用以下命令查看swap详情swapon -s停用交换文件sudo swapoff /swapfile删除文件sudo rm /swapfile删除后继续创建创建swap交换空间新建swap空间以16G为例,创建文件sudo fallocate -l 16G /swapfile这里我们还是命名为“swapfile”当然你也可以随意写查看文件信息ls -lh /swapfile设置文件权限sudo chmod 600 /swapfile挂载sudo mkswap /swapfile激活启用sudo swapon /swapfile再次查看内存使用情况free -m准备编译环境安装jdk8sudo apt-get update sudo apt-get install openjdk-8-jdk安装依赖包Ubuntu18.04系统以上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//不知道哪些有用哪些没用网上都是这么写的索性都安装了 sudo apt-get install libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev g-multilib sudo apt-get install -y git flex bison gperf build-essential libncurses5-dev:i386 sudo apt-get install tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386 sudo apt-get install dpkg-dev libsdl1.2-dev libesd0-dev sudo apt-get install git-core gnupg flex bison gperf build-essential sudo apt-get install zip curl zlib1g-dev gcc-multilib g-multilib sudo apt-get install libc6-dev-i386 sudo apt-get install lib32ncurses5-dev x11proto-core-dev libx11-dev sudo apt-get install libgl1-mesa-dev libxml2-utils xsltproc unzip m4 sudo apt-get install lib32z-dev ccache sudo apt-get install libssl-dev二、下载代码安装 Repo下载Repo前先安装 curl 库sudo apt-get install curl下载好 curl 库后设置清华源下载 Repo 然后给repo文件添加可执行权限sudo apt-get install repo设置 repo 镜像源自动更新export REPO_URLhttps://mirrors.tuna.tsinghua.edu.cn/git/git-repo/初始化 repo安装gitsudo apt-get install git配置 Git没有安装 git 要先安装 git引号里面填自己设置的用户和邮箱git config --global user.name *** git config --global user.email ***查看一下Git是否配置成功git config --global --list下载源码直接下载Git配置完成后创建工作目录mkdir ~/Android_12_AOSP cd ~/Android_12_AOSP运行 repo init 以获取最新版本的 Repo并指定版本使用清华源repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-12.1.0_r5最后同步代码repo sync -j8中断报错清理后重新执行repo forall -c git clean -fd下载内核源码AOSP源码中并不包括内核源码需要单独下载内核源码有很多版本比如common是通用的Linux内核msm是用于使用高通MSM芯片的Android设备goldfish是用于Android模拟器的内核源码这里以goldfish为例。和下载AOSP源码一样我们需要先建立工作目录 mkdir kernel cd kernel使用清华的镜像git clone https://aosp.tuna.tsinghua.edu.cn/kernel/goldfish.git完成后kernel目录中会生成一个goldfish文件夹进入goldfish目录并使用git命令cd goldfish git branch -a这时会列出有哪些内核的版本分支可以下载这里选择下载goldfish 3.4版本git checkout remotes/origin/android-goldfish-3.4三、编译源码编译源码时处理器可以设置多一些设置Ubuntu处理器数量Ubuntu关机在VirtualBox主页进入Ubuntu右侧设置–系统–处理器选项设置处理器数量设置最大处理器数量的一半或更高也不要设置最大容易卡主我设置了一半。源码整编进入到源码根目录cd Android_12_AOSP/在根目录下输入以下指令source build/envsetup.shlunch选择准备编译的版本,根据自己的需要选择版本比如我选择的是sdk_phone_x86_64lunch sdk_phone_x86_64开始编译指定的线程数一般应该遵从cpu内核数的2倍这个规律可以通过cat /proc/cpuinfo查看相关cpu信息make -j6 21 | tee build.log编译成功后在 Android 模拟器中运行 AVD 系统映像emulator

相关新闻

Skill-Agent 如何实践:从概念到落地的完整指南

Skill-Agent 如何实践:从概念到落地的完整指南

引言:为什么需要 Skill-Agent? 在当今快速发展的 AI 应用领域,单一、庞大的通用模型往往难以应对复杂、多变的业务场景。Skill-Agent(技能智能体)架构应运而生,它通过将复杂任务分解为一系列可复用、可编排…

2026/10/17 8:01:28 阅读更多 →
ESP32 TCP OTA升级方案:局域网稳定传输与AES-256加密实现

ESP32 TCP OTA升级方案:局域网稳定传输与AES-256加密实现

这次我们来看一个ESP32的TCP OTA升级方案。对于嵌入式开发者来说,OTA(空中升级)功能是产品化必备的能力,而TCP协议作为最基础的网络通信方式,在局域网环境下的OTA升级具有稳定性高、实现简单的优势。 urbanze开源的es…

2026/10/18 2:17:10 阅读更多 →
暗黑破坏神2存档编辑器:5步轻松修改你的游戏角色数据

暗黑破坏神2存档编辑器:5步轻松修改你的游戏角色数据

暗黑破坏神2存档编辑器:5步轻松修改你的游戏角色数据 【免费下载链接】d2s-editor 项目地址: https://gitcode.com/gh_mirrors/d2/d2s-editor 你是否曾经在暗黑破坏神2中花费数小时刷装备,却发现想要的build始终无法成型?或者你的游戏…

2026/10/18 2:17:11 阅读更多 →

最新新闻

JavaWeb新闻期刊管理系统:从JSP+Servlet到课程设计完整实践

JavaWeb新闻期刊管理系统:从JSP+Servlet到课程设计完整实践

简介:基于JavaWeb的新闻期刊管理系统是一个面向计算机专业课程设计、期末大作业及毕业设计场景的完整项目,覆盖新闻/期刊的发布、分类、检索、用户管理及后台维护等典型业务模块。压缩包内含339个文件,整体约78.1MB,其中java/jsp文…

2026/10/19 2:54:55 阅读更多 →
无人机病虫害智能识别与精准施药系统:基于PyTorch与CrossViT的实现

无人机病虫害智能识别与精准施药系统:基于PyTorch与CrossViT的实现

简介:基于Python实现的无人机病虫害智能识别与精准施药系统,是一套面向农业植保场景的完整毕业设计/课程设计项目资源,适合计算机视觉、深度学习方向的本科生或开发者参考。系统围绕作物病虫害识别与精准施药两条主线,配套源码、训…

2026/10/19 2:54:55 阅读更多 →
FFmpeg 编译支持 H265 的 RTMP 版本:从补丁到推流全解析

FFmpeg 编译支持 H265 的 RTMP 版本:从补丁到推流全解析

FFmpeg 编译支持 H265 的 RTMP 版本,这句话看起来像一道编译题,但在直播开发群里隔三差五就有人问一次。默认装好的 FFmpeg 影音能力再强,遇到“H.265 RTMP”这个组合就只能干瞪眼:libx265 编码器能出 HEVC 码流,RTMP…

2026/10/19 2:54:55 阅读更多 →
中景园1.8寸ST7735屏移植LVGL完整指南:从底层驱动到界面点亮

中景园1.8寸ST7735屏移植LVGL完整指南:从底层驱动到界面点亮

简介:将LVGL图形库移植到中景园1.8寸128160显示屏的完整Keil工程,基于STM32F10x平台,面向需要为嵌入式设备快速添加图形界面的开发者,也适合正在学习LVGL移植原理的初学者。工程不仅完成LCD驱动适配和LVGL显示参数配置&#xff0c…

2026/10/19 2:54:55 阅读更多 →
128×160彩屏LVGL移植全攻略:从ST7735初始化到流畅刷新

128×160彩屏LVGL移植全攻略:从ST7735初始化到流畅刷新

简介:一套适用于 STM32 开发者的 LVGL 移植代码工程,目标是把中景园 1.8 寸 128160 彩屏接入 LVGL,解决显示驱动适配、分辨率配置与界面初始化等问题。压缩包共 412 个文件,大小约 3.86MB,以 204 个 C 源文件与 183 个…

2026/10/19 2:54:55 阅读更多 →
ST电机库V6.2.1安装避坑指南:FOC开发必配HAL与CubeMX版本

ST电机库V6.2.1安装避坑指南:FOC开发必配HAL与CubeMX版本

简介:ST最新电机库文件V6.2.1是意法半导体官方发布的面向STM32系列MCU的FOC(磁场定向控制)核心软件开发套件,专为嵌入式电机控制工程师及高校电力电子方向开发者设计,用于快速实现高精度、低纹波的无刷直流电机&#x…

2026/10/19 2:53:55 阅读更多 →

日新闻

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

简介:本资源为电源技术方向的学术研究文档,聚焦介质阻挡放电型臭氧发生器电源的频率跟踪型PWM控制策略,面向电力电子、高压电源及臭氧应用领域的科研人员与工程技术人员。针对负载呈容性、等效电容随外加电压升高而增大、谐振频率随之漂移的难…

2026/10/19 0:00:47 阅读更多 →
Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 0:00:47 阅读更多 →
HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

【免费下载链接】HundredCV-Chat 项目地址: https://ai.gitcode.com/hf_mirrors/Jax-dan/HundredCV-Chat 点击查看 免费下载 HundredCV-Chat 是一个由 100 位青年简历数据开发而来的中文多轮对话数据集,共包含 24,750 组日常闲聊对话和 4,871 个话题标签…

2026/10/19 0:00:47 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/19 1:30:52 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 2:54:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →