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组所拥有的权限,包括对磁盘设备的访问权限。

重启系统

相关推荐
未济5 天前
linux 配置环境变量
linux
傲世仙尊5 天前
目录即文件-Ext文件系统收尾篇
linux·c语言
千里马学框架5 天前
一起学 Android 14:ShellTransition 屏幕旋转过程深度剖析
android·智能手机·性能优化·framework·性能·屏幕旋转·rotation
美狐美颜SDK开放平台5 天前
开发直播APP时如何接入视频美颜SDK?开发流程与注意事项
android·人工智能·计算机视觉·音视频·直播美颜sdk
AFinalStone5 天前
Android7 SystemUI源码解析(七)Keyguard锁屏模块深度解析
android·systemui
致远ccc5 天前
Google Play 上架前如何测试 App?多国家 Android 环境测试
android·app测试·googleplay·多国家应用测试
_艾伦 耶格尔.5 天前
进程间通信
linux
Liuqy-055 天前
Linux IO编程——静态库、动态库
linux
彧azz5 天前
Linux 环境下 Redis 学习总结:数据类型、持久化、锁、事务、主从与缓存问题
linux·redis·笔记·学习·面试
ttyyttemo5 天前
Kotlin 协程中的 Job 结构化并发与取消
android