Ubuntu 整编 AOSP

前言

作为Android应用层开发多年, 一直不了解 Framework和Android系统的运行原理真的说不过去。希望本篇博客可以带你构建自己的Android系统,打开通向 Framework的大门。

1 准备一台Ubuntu系统电脑

笔记本大部分都是Windows系统, 可以参考以下视频再装一个Ubuntu系统(建议选Ubuntu 20.04 LTS)

Windows 和 Ubuntu 双系统的安装

这里要着重强调以下几点

  • 物理内存最低8G (不然运行真的太慢了)
  • 分配磁盘空间 /home300G以上 (不然编译失败会提示没有空间)
  • 电脑设置常亮不休眠,保证可以夜以继日工作

2 安装依赖工具

打开终端输入如下命令

sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip

3 安装 repo

mkdir ~/bin
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o ~/bin/repo
chmod +x ~/bin/repo
# 以下这条命令可以添加到 `~/.bashrc` 文件中
export PATH=~/bin:$PATH

4 下载 AOSP 源码

选择指定的Android版本 (这里选择了 android-12.1.0_r27,不建议编14,语法太新,遇到问题没有解决方案)
源代码标记和 build
在这里插入图片描述

mkdir aosp 
cd asop
# 初始化repo,指定源码分支为 `android-12.1.0_r27`
repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-12.1.0_r27
# 同步远程代码,大概2h左右时间,耐心等待。。。
repo sync

在这里插入图片描述

5 整编AOSP

# 初始化环境
source ./build/envsetup.sh
# 选择编译目标
lunch sdk_phone_x86_64
# 最大线程数编译,这一步十分耗时, 大概8h左右,建议晚上睡前make,第二天起来才能编好
m

不出意外的话, 执行 m 命令后会报错,按照错误提示简单Google一下就能找到答案

编译是一个极其漫长的过程, 如下图所示的一次编译就要了8h14min (我睡醒了还没编好。。。。)
在这里插入图片描述

6 运行

emulator

在这里插入图片描述
恭喜💐 属于你的Android系统就这样被启动,接下来你可以好好把玩你的Android系统了!

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值