Ubuntu 26.04 + Android14安装与编译教程

Ubuntu 26.04 + Android14安装与编译教程


前言

作为一个自己学习andorid系统源码的小白,从搭建环境开始学习与记录。


安装Ubuntu环境

很多介绍的文章都是使用的旧的文章,推荐按照之前的ubuntu版本,我刚开始也选择的老版本,24.06版本,安装之后发现连接不了无线网络,看了好多文章之后没有找到解决方法,果断安装了最新版本,这个问题就解决了。所以如果大家是新买的电脑,建议安装比较新的ubuntu版本

我选择的是将整个系统安装成linux操作系统,本来想着window + linux操作系统,最近内存和存储实在是太贵了,买的配置是24+1T的,综合之后还是只安装linux系统

安装前准备

制作启动盘

  1. U 盘:≥8GB,推荐 16GB
  2. 下载ubuntu,我选择的国内的清华镜像
javascript 复制代码
// 清华镜像(推荐)
https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/26.04/
// 官网
https://cn.ubuntu.com/download/desktop
  1. Rufus(Windows 首选,免费绿色无需安装)
    官网:https://rufus.ie/
    下载之后双击Rufus,确认识别到的是自己的U盘,修改相关参数

    准备完成之后,安全拔出U盘

安装

将制作启动盘的U盘插入要安装的机器,并跟据机器的型号查找进入BIOS的方法,进入BIOS界面之后,选择Save&Exit,并选中U盘启动盘,按回车,就会进入linux安装过程

eg:我的机器是开机时不断按Delete键

首先进入试用,可以先看看相关基础功能是否正确,比如wifi连接,确认没问题之后,可以双击桌面的linux安装图标进入正式的安装过程

接下来是相关具体步骤和选择

我选择的是English,大家可以根据自己的需要选择

后面按照指示:重启,并在重启之前拔掉U盘,启动之后电脑就是linux操作系统了

下载Android源码

1.安装依赖库

c 复制代码
sudo apt update

sudo apt install -y git-core gnupg flex bison build-essential zip curl \
zlib1g-dev libc6-dev-i386 x11proto-core-dev libx11-dev lib32z1-dev \
libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig

2.安装repo工具

c 复制代码
// 下载repo脚本
curl https://mirrors.tuna.tsinghua.edu.cn/git-repo/git-repo-stable/repo > ~/bin/repo
chmod a+x ~/bin/repo
echo 'export PATH=$HOME/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

3. 下载android源码

javascript 复制代码
// 创建文件夹
mkidr aosp14
cd aosp14
repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-14.0.0_r50
// repo sync 之后需要等好久才能将代码同步完,时间久很正常
repo sync

source build/envsetup.sh 
lunch sdk_phone64_x86_64-ap2a-eng
emulator

如果编译和启动比较顺利,就能启动模拟器,如下

编译遇到的问题

  1. open /dev/loop1 failed errno:13

    assemble_cvd I 08‑28 22:14:21 9452 9452 main.cc:280] Host configuration changed from previous run, rebuilding composite disk images
    Info: open /dev/loop1 failed errno:13
    Error: Not available on mounted device!
    E0828 22:14:21.846219 9452 disk_builder.cc:440] Failed to attach image to loop device
    E0828 22:14:21.846381 9452 assemble_cvd.cc:194] BuildCompositeDiskImages failed
    launch_cvd E 08‑28 22:14:21 9449 9449 subprocess.cc:161] Subprocess 9452 exited with code: 1
    launch_cvd E 08‑28 22:14:21 9449 9449 main.cc:274] assemble_cvd returned error status

解决方案:

查看访问/dev/loop1的用户组:为root和disk。

javascript 复制代码
# ls -al /dev/loop1
# sudo usermod -aG disk $USER

以超级用户的权限,将当前登录的用户添加到disk组中。该用户将获得disk组所拥有的权限,包括对磁盘设备的访问权限。

重启系统

相关推荐
传奇开心果编程1 小时前
【Flutter踩坑排雷】第19课:路由硬编码坑|字符串路由书写错误,页面跳转失败排查
android·flutter·ios·移动开发·跨平台·ui框架·声明式ui
且从容.2 小时前
ubuntu安装flink
linux·ubuntu·flink
爱和冰阔落3 小时前
【Linux网络】TCP 服务器如何并发处理多个客户端?从 fork、僵尸进程到双重 fork
linux·运维·服务器·网络
程序员沉梦听雨3 小时前
WSL2的安装与使用
linux·wsl
微小的鱼4 小时前
Linux的渲染与显示系统链路
android·java·linux
lisanmengmeng4 小时前
alertmanger 标签 rules 打上分组标签
linux·运维·服务器
Android系统攻城狮5 小时前
Linux FFmpeg深度解析之av_write_frame调用流程与实战(三十三)
linux·运维·服务器·ffmpeg·音视频进阶·ffmpeg音视频
道尔柯南15 小时前
C++ string 类详解:从常用接口到深拷贝,彻底掌握字符串处理
android·java·c++
唐诺16 小时前
5、Android JNI 动态注册中的“签名“详解
android·jni
Linux-lucky16 小时前
45-Linux学习之旅之防火墙与WEB加固
linux·前端·网络·学习·ubuntu