Android13源码下载及全编译流程

目录

一、源码下载
1.1、配置要求
1.1.1、硬件配置要求
1.1.2、软件要求
1.2、下载环境搭建
1.2.1、依赖安装
1.2.2、工具安装
1.2.3、git配置
1.2.4、repo配置
1.3、源码下载
1.3.1、明确下载版本
 1.3.2、替换为清华源
1.3.3、初始化仓库并指定分支
1.3.4、同步全部源码
二、Android源码编译
2.1、编译环境搭建
 2.2、全编译
2.2.1、初始化编译环境
2.2.2、选择构建目标
2.2.3、编译固件
三、常见问题及解决方法
3.1、libncurses.so.5库找不到问题
 3.2、磁盘空间不足
一、源码下载
1.1、配置要求
        官方推荐配置请参考:https://source.android.google.cn/docs/setup/start/requirements?hl=zh-cn,重点有如下几项:

1.1.1、硬件配置要求
        1、内存至少 16GB,实测建议至少 32G。

        2、磁盘至少 250GB,实测建议至少 512G。

1.1.2、软件要求
        推荐使用 Ubuntu 18.04 (Bionic Beaver)、 Docker、Linux。
        2021年6月22日起,不再支持 Windows 或 MacOS 上构建。
        2020年1月1日起,不再支持 python2,请使用 python3。

1.2、下载环境搭建
1.2.1、依赖安装
        请使用如下命令安装相关依赖:

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
1.2.2、工具安装
        请使用如下命令安装相关工具:

sudo apt-get install curl git python3
1.2.3、git配置
        请使用如下命令对git进行配置:

git config --global user.name 'xxx'
git config --global user.email 'xxx@xxx.com'
1.2.4、repo配置
        请使用如下命令更新repo并进行配置:

mkdir ~/bin
PATH=~/bin:$PATH
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > ~/bin/repo
chmod +x ~/bin/repo
1.3、源码下载
1.3.1、明确下载版本
        请通过浏览器访问:https://source.android.google.cn/docs/setup/about/build-numbers?hl=zh-cn#source-code-tags-and-builds,来选取需要的版本。
        网页显示如下:

 1.3.2、替换为清华源
        请使用如下命令将源替换为清华源:

export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/'
1.3.3、初始化仓库并指定分支
        请使用如下命令初始化仓库并指定分支,此处以android-13.0.0_r7分支为例。

repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-13.0.0_r7
        执行结果如下:

1.3.4、同步全部源码
        使用如下命令进行源码同步:

repo sync -c -j8
        此处为了加快速度使用了-c参数,表示只同步当前分支,-j8表示使用8个线程今天同步代码,使用多少个线程请根据自己的机器配置自行修改。

        代码同步结果如下:

Checking out: 100% (1134/1134), done in 25m36.486s
repo sync has finished successfully.
        此时Android13源码已经同步完成。

二、Android源码编译
2.1、编译环境搭建
        使用如下命令安装JDK:

sudo apt-get install openjdk-11-jdk
        安装完成后可以使用如下命令查看是否按照成功:

                

         执行如下命令安装编译依赖:

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
 2.2、全编译
2.2.1、初始化编译环境
        执行如下命令进行编译环境初始化:

source build/envsetup.sh
或者:
. build/envsetup.sh
2.2.2、选择构建目标
        执行lunch命令显示如下:

         选择需要构建的目标,此处以aosp_arm-eng为例,执行结果如下:

2.2.3、编译固件
        执行如下命令进行固件编译:

make -j24
        会有如下信息输出:

三、常见问题及解决方法
3.1、libncurses.so.5库找不到问题
        报错如下:

        执行如下命令:

sudo apt-get install libncurses
        输出如下信息:

 3.2、磁盘空间不足


         此处只能增加系统硬盘。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/449136.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis(十一)单线程VS多线程

文章目录 概述为何选择单线程主要性能瓶颈多线程特性和IO多路复用概述Unix网络编程中的五种IO模型Blocking IO-阻塞IONoneBlocking IO-非阻塞IOIO multiplexing-IO多路复用signal driven IO-信号驱动IOasynchronous IO-异步IO 场景:引出epoll总结 开启Redis多线程其…

【Go语言成长之路】安装Go

文章目录 安装Go一、下载Go语言安装包二、删除以前安装的Go版本三、添加/usr/local/go/bin到环境变量内四、确认安装成功 安装Go Note: 这里只演示安装Linux版本的Go,若为其它版本,请按照官网的安装教程进行安装即可。 一、下载Go语言安装包 ​ 在浏览…

paddle环境安装

一、paddle环境安装 如pytorch环境安装一样,首先在base环境下创建一个新的环境来安装paddlepaddle框架。首先创建一个新的环境名叫paddle。执行如下命令。 conda create -n paddle python3.8创建好了名叫paddle这个环境以后,进入到这个环境中&#xff…

STM32--USART串口(2)串口外设

一、USART简介 可配置数据位:不需要校验就是8位,需要校验就选9位; 停止位:决定了帧的间隔; STM32F103C8T6USART:USART1挂载在APB2总线上,USART2和USART3挂载在APB1总线上; 二、USART框图 TXE…

centos 7 部署若依前后端分离项目

目录 一、新建数据库 二、修改需求配置 1.修改数据库连接 2.修改Redis连接信息 3.文件路径 4.日志存储路径调整 三、编译后端项目 四、编译前端项目 1.上传项目 2.安装依赖 3.构建生产环境 五、项目部署 1.创建目录 2.后端文件上传 3. 前端文件上传 六、服务启…

SpringBoot、SpringCloud项目打包,target目录没有生成jar包

Maven中有一个 Execute goals recursively 递归执行 的复选框,如果这个没有勾选在IDEA中本地打包聚合工程的子模块target目录不会生成jar包,递归执行即对聚合工程执行的命令子模块也会执行 clean package install

【Boost】:前置知识(一)

前置知识 一.背景二.下载boost库手册的网页资源三.正排索引和倒排索引四.认识标签和去标签 一.背景 现在知名的搜索引擎,例如;谷歌,百度,搜狐…它们的搜索是属于全网的,而本次的项目是区域搜索。 项目演示 要做的工作…

Spring Framework(6.x)源码编译与源码阅读入门

目录 一、Spring Framework 源码获取问题 1.1 Spring Framework 官网 1.2 Spring Framework 源码地址 1.3 关于访问不了GitHub 官网的解决方案 1.3.1 修改本地hosts文件 1.3.2 GitHub520 1.3.3 Gitee 导入 二、Spring Framework 源码编译 2.1 环境说明 2.1.1 JDK版本 …

通过WSL2来实现Windows10/11的深度学习模型GPU加速,TensorFlow项,Jupyter及其插件安装,CQF心得,金融量化

通过WSL2来实现TF的GPU加速 为什么要用WSL(Windows Subsystem Linux)安装WSL2,miniconda,cuda,cudnn,TA-Lib安装 WSL2安装 Miniconda3安装 CUDA安装 cuDNN安装 TensorFlow 库安装 TA-Lib 库安装其它CQF及金…

阿里云a10GPU,centos7,cuda11.2环境配置

Anaconda3-2022.05-Linux-x86_64.sh gcc升级 centos7升级gcc至8.2_centos7 yum gcc8.2.0-CSDN博客 paddlepaddle python -m pip install paddlepaddle-gpu2.5.1.post112 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html 报错 ImportError: libssl.so…

解锁影视制作新境界:DaVinci Resolve Studio 18引领行业变革

随着科技的不断发展,影视制作行业也在日新月异地变革。在这一进程中,DaVinci Resolve Studio 18以其卓越的性能和无限的创新力,成为了行业的领跑者。 DaVinci Resolve Studio 18是一款集剪辑、调色、音频处理和特效合成于一身的专业级影视制…

虚幻UE5Matehuman定制自己的虚拟人,从相机拍照到UE5制作全流程

开启自己的元宇宙,照片扫描真实的人类,生成虚拟形象,保姆级教程,欢迎大家指正。 需要的软件: 制作流程: 一.拍照。 围绕自己拍照,大概20多张图就差不多了,把脑门漏出来,无需拍后脑勺。 拍照方式 例如,拍照时尽量不要在脸上体现出明显的光源方向。