尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
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
RELATED

相关推荐

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

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

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

📅 2026/9/1 10:29:29
DuckDB 分析 10GB 日志 CSV:把 pandas 30 分钟查询压到 8 秒,我只做了这三步

DuckDB 分析 10GB 日志 CSV:把 pandas 30 分钟查询压到 8 秒,我只做了这三步

DuckDB 分析 10GB 日志 CSV:把 pandas 30 分钟查询压到 8 秒,我只做了这三步 说实话,我最近被一个 10GB 的 Nginx 访问日志搞得很烦。 业务要做一个“最近 30 天接口访问热度”的临时分析,数据导出来是 10GB 的 CSV。我用 pandas …

📅 2026/9/8 11:17:52
11.Python 面向对象三大特性详解:封装、继承、多态与多继承、魔术方法及抽象类

11.Python 面向对象三大特性详解:封装、继承、多态与多继承、魔术方法及抽象类

摘要:本文系统讲解了 Python 面向对象的三大特性——封装、继承(重点涵盖多继承与 MRO)和多态,同时介绍了常用的魔术方法、魔术属性以及如何使用 abc 模块定义抽象类,帮助开发者深入理解 Python 面向对象编程的核心机制…

📅 2026/8/23 17:29:30
MORE NEWS

更多资讯

📰

Kubernetes GPU调度全解析:从驱动、容器运行时到Device Plugin

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

📰

龙虾消费热潮背后的技术驱动与社会心理分析

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

📰

Sunshine 游戏串流主机免费上手指南:30 分钟串出第一帧画面

Sunshine 游戏串流主机免费上手指南:30 分钟串出第一帧画面 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine Sunshine 是一款自托管游戏串流主机,装在主机上…

📰

OCRmyPDF 教程:一分钟给扫描 PDF 加可搜索文字层

OCRmyPDF 教程:一分钟给扫描 PDF 加可搜索文字层 【免费下载链接】OCRmyPDF OCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched 项目地址: https://gitcode.com/GitHub_Trending/oc/OCRmyPDF 扫描件最大的尴尬在于&#…

📰

NautilusTrader 问题排查指南:3 步定位回测安装失败与“无交易“策略

NautilusTrader 问题排查指南:3 步定位回测安装失败与"无交易"策略 【免费下载链接】nautilus_trader Production-grade Rust-native trading engine with deterministic event-driven architecture 项目地址: https://gitcode.com/GitHub_Trending/na/…

📰

go2rtc 入门教程:5 分钟搭建低延迟摄像头流媒体服务器

go2rtc 入门教程:5 分钟搭建低延迟摄像头流媒体服务器 【免费下载链接】go2rtc Ultimate camera streaming application 项目地址: https://gitcode.com/GitHub_Trending/go/go2rtc go2rtc 是一个用 Go 编写的零依赖摄像头串流应用,能把 RTSP、RT…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬