当前位置: 首页 > article >正文

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.kler.cn/a/226563.html

相关文章:

  • Vue打包Webpack源码及物理路径泄漏问题解决
  • 【QT】贪吃蛇小游戏 -- 童年回忆
  • 交换机 路由器 网卡 MAC
  • 决策树的相关知识点
  • React16源码: React中event事件触发的源码实现
  • -代码分享-
  • QSqlRelationalTableModel 关系表格模型
  • PPT录屏功能在哪?一键快速找到它!
  • 笔记本加装内存条
  • 算法学习——华为机考题库1(HJ1 - HJ10)
  • 07 SB3之@HttpExchange(TBD)
  • 什么是单例模式与饿汉式单例模式的区别是什么?
  • Mac 上如何安装Mysql? 如何配置 Mysql?以及如何开启并使用MySQL
  • C#实现windows系统重启、关机
  • C++函数分文件编写之VScode版
  • 【gcc】webrtc发送侧计算 丢包率
  • Hive collect_set()、collect_list()列转行,并对转换后的行值排序
  • 一键转换MOV至MP3:轻松删除原视频,释放存储空间!
  • git diff查看比对两次不同时间点提交的异同
  • 力扣反转两次的数字