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/7/31 2:13:57 阅读更多 →
ESP32 TCP OTA升级方案:局域网稳定传输与AES-256加密实现

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

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

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

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

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

2026/8/3 20:26:35 阅读更多 →

最新新闻

计算门窗型材惯性矩小技巧

计算门窗型材惯性矩小技巧

计算门窗型材惯性矩小技巧 门窗设计师们在进行门窗抗风压性能较核时,经常碰到计算型材截面惯性矩的事,这对于学过材料力学的人来说并不是一件难事,但是对于一般技术人员来说可就不那么容易了。 即使你熟练掌握计算方法,繁琐的微积分计算过程也让你劳心费时。 AutoCAD有一…

2026/8/5 14:55:35 阅读更多 →
C++ 匿名函数 lambda

C++ 匿名函数 lambda

一、为什么需要 lambda 匿名函数?lambda(λ)是 C11 引入的匿名函数,核心解决以下问题:临时小函数无需单独定义:对于只使用一次的简单函数(如算法回调、临时逻辑),无需定义…

2026/8/5 14:55:34 阅读更多 →
NCL数据分析与处理实践技术应用

NCL数据分析与处理实践技术应用

NCAR Command Language(NCL)是由美国大气研究中心(NCAR)推出的一款用于科学数据计算和可视化的免费软件。它有着非常强大的文件输入和输出功能,可读写netCDF-3、netCDF-4 classic、HDF4、binary、ASCII数据&#xff0c…

2026/8/5 14:55:34 阅读更多 →
B站视频ID从AV到BV的进化史:我是怎么在API开发里被坑哭又救回来的

B站视频ID从AV到BV的进化史:我是怎么在API开发里被坑哭又救回来的

说实话,刚接触B站API开发的时候,我整个人是懵圈的。那时候我还年轻,觉得写代码嘛,不就是调个接口,拿个数据,再渲染个页面,完事?太简单了。直到有一天,我想写个脚本去爬取某个UP主的历史视频列表,结果发现以前那种直接拼凑 av123456 这种URL的方式,突然就不灵了。页面…

2026/8/5 14:55:34 阅读更多 →
PostgreSQL高可用实战:Patroni日常维护命令大全(附常见问题排查)

PostgreSQL高可用实战:Patroni日常维护命令大全(附常见问题排查)

在PostgreSQL高可用架构中,Patroni作为一款开源的集群管理工具,已经成为许多企业数据库架构的核心组件。它不仅简化了PostgreSQL集群的部署流程,更重要的是提供了自动化的故障转移和集群管理能力。然而,随着Patroni在生产环境中的广泛应用,DBA们逐渐发现,仅仅掌握基础部署…

2026/8/5 14:55:34 阅读更多 →
9个理由告诉你为什么这款免费商用字体值得拥有:Outfit几何字体深度解析

9个理由告诉你为什么这款免费商用字体值得拥有:Outfit几何字体深度解析

9个理由告诉你为什么这款免费商用字体值得拥有:Outfit几何字体深度解析 【免费下载链接】Outfit-Fonts The most on-brand typeface 项目地址: https://gitcode.com/gh_mirrors/ou/Outfit-Fonts 你是否正在寻找一款既专业又完全免费的商用字体?Ou…

2026/8/5 14:54:34 阅读更多 →

日新闻

Java缓存框架:JetCache

Java缓存框架:JetCache

TOC 一、简介 JetCache 是一个 Java 缓存抽象框架,为不同的缓存解决方案提供了统一的使用方式。 它提供的注解比 Spring Cache 更加强大。 JetCache 的注解支持原生 TTL、两级缓存以及在分布式环境中的自动刷新功能,同时你也可以通过代码直接操作 Cach…

2026/8/5 0:00:43 阅读更多 →
AD 铺铜设置十字连接,过孔全连接,新版AD的简单设置

AD 铺铜设置十字连接,过孔全连接,新版AD的简单设置

需求:通孔焊盘 十字花;过孔 Via 实心直连;贴片焊盘按需设置 AD 测试版本AD24 很多工程师踩坑:全部统一十字,导致接地过孔阻抗高、大电流发热! 一、快捷键打开规则 PCB 界面按下:D R 展开…

2026/8/5 0:00:43 阅读更多 →
AI素描转换技术深度拆解(2024最新论文+工业级落地代码):从Stable Diffusion ControlNet到LoRA微调全链路解析

AI素描转换技术深度拆解(2024最新论文+工业级落地代码):从Stable Diffusion ControlNet到LoRA微调全链路解析

更多请点击: https://kaifayun.com 第一章:AI生成素描效果 AI生成素描效果是计算机视觉与风格迁移技术融合的典型应用,其核心在于将彩色照片或RGB图像转换为具有手绘质感、明暗对比强烈、边缘清晰的单色素描图像。该过程通常依赖于深度学习模…

2026/8/5 0:00:43 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/4 13:24:41 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/5 13:13:56 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/5 10:20:36 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/4 13:38:24 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/4 11:09:16 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/4 13:38:40 阅读更多 →