android13源码下载及全编译流程

author author     2023-02-25     444

关键词:


一、源码下载

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​​​,来选取需要的版本。
        网页显示如下:

Android13源码下载及全编译流程_Android

 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

        执行结果如下:

Android13源码下载及全编译流程_git_02

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

        安装完成后可以使用如下命令查看是否按照成功:

                

Android13源码下载及全编译流程_Android_03

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

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命令显示如下:

Android13源码下载及全编译流程_android-studio_04

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

Android13源码下载及全编译流程_Android_05

2.2.3、编译固件

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

make -j24

        会有如下信息输出:

Android13源码下载及全编译流程_android-studio_06

三、常见问题及解决方法

3.1、libncurses.so.5库找不到问题

        报错如下:

Android13源码下载及全编译流程_git_07

        执行如下命令:

sudo apt-get install libncurses

        输出如下信息:

Android13源码下载及全编译流程_android

 3.2、磁盘空间不足

Android13源码下载及全编译流程_Android_09

         此处只能增加系统硬盘。

android13源码下载与编译(代码片段)

Android13源码下载与编译最近在研究Android源码定制相关的内容,刚好在B站上看高乐高大佬的课程,就跟着学习,也顺便整理一下资料写点博客,毕竟目前互联网上关于这方面的内容确实比较少,同时也感谢高乐... 查看详情

mac版android反编译文件操作流程(代码片段)

...用到的相关工具主要有三个,分别为:dex2jarjd-guiAndroidCrackTool三者的作用分别是:将dex文件转为jar文件查看jar包里的源码字节码转源码二.使用反编译工具下载完成之后工具就是这样:注意:其中AndroidCrackTool普... 查看详情

linuxmint安装配置及搭建android源码编译环境

LinuxMint安装、配置及搭建Android源码编译环境用过ubuntu,现在想换换LinuxMint试试看。下面是我安装配置LinuxMint13的过程。1、安装安装LinuxMint13时,我尝试了好多种方法,都失败了。最后选用了硬盘安装。硬盘安装Linuxmint和安装ubuntu... 查看详情

android移植iperf3.13测试网络(代码片段)

...测量实际的网络性能。官网:https://iperf.fr/官方就有android的下载 https://iperf.fr/iperf-download.php#android,但是看起来要访问play.google.墙。急用,怎么自己拿源码来ndk编译一下。1.最适配的方式,应该是用configure+make&#... 查看详情

flink1.13源码解析——taskmanager启动流程之初始化taskexecutor(代码片段)

...模型点击查看相关章节Flink1.13源码解析——JobManager启动流程之ResourceManager启动点击查看相关章节Flink1.13源码解析——TaskManager启动流程概览点击查看相关章节Flink1 查看详情

使用reactnative源码编译android项目(代码片段)

前言公司的项目用到了ReactNative,最近通过后台监控到一些崩溃问题,主要出在ReactNativeJava侧的源码中,由于无法在js侧去定位和修复问题,于是希望通过修改ReactNative源码达到规避Crash的目的,下面记录编译Rea... 查看详情

mac版android反编译文件操作流程(代码片段)

...用到的相关工具主要有三个,分别为:dex2jarjd-guiAndroidCrackTool三者的作用分别是:将dex文件转为jar文件查看jar包里的源码字节码转源码二.使用反编译工具下载完成之后工具就是这样:注意:其中AndroidCrackTool普... 查看详情

flutterandroid端activity/fragment流程源码分析(代码片段)

Flutter系列文章连载~《FlutterAndroid工程结构及应用层编译源码深入分析》《Flutter命令本质之Fluttertools机制源码深入分析》《Flutter的runApp与三棵树诞生流程源码分析》《FlutterAndroid端Activity/Fragment流程源码分析》背景前面文章... 查看详情

android11源码编译(代码片段)

...ff0c;系统ubunut下载Android系统代码(aosp)Android系统源码下载其实比较简单,具体参考官方文档:Android源码获取,具体百度。编译:编译主要分为散步,分别是source读入shell的方法,用来编译Android系... 查看详情

源码编译安装git2.13.1

环境介绍:系统版本:CentOS6软件仓库:yum-Base,yum-epelGit版本:git2.13.1安装方式:源码编译删除原有版本gityum remove git -y安装依赖包yum install curl-devel expat-devel gettext-devel openssl-devel&nbs 查看详情

编译安装mysql-5.7.13

编译安装MySQL-5.7cmake的重要特性之一是其独立于源码(out-of-source)的编译功能,即编译工作可以在另一个指定的目录中而非源码目录中进行,这可以保证源码目录不受任何一次编译的影响,因此在同一个源码树上可以进行多次不同... 查看详情

android逆向android进程注入工具开发(总结|源码编译|逆向环境搭建使用|使用进程注入工具进行逆向操作)★★★(代码片段)

...Android进程注入工具开发系列博客二、Android进程注入工具源码下载编译三、逆向环境搭建四、使用注入工具进行逆向操作1、获取远程进程号2、注入工具准备3、注入动态库4、查询内存5、修改内存一、Android进程注入工具开发系列... 查看详情

启动的流程(代码片段)

源码的下载 如果下载源码的目的是为了编译android的源码 推荐使用linux或者mac下载ubuntu图形化界面比较靠谱4月10月lamplinuxapachemysqlphp/python centosredhat运维源码的编译 souceInsight的使用1启动的流程按下电源键开始一直... 查看详情

系统性学习css指南及全demo练习

本文内容源自:property.Youcanpickcolorcodesfromourusefultool.ofHTMLelements.propertyforHTMLelementsintheseCSSexamples:propertiesforHTMLelements.indicatesthatbrowsersseeHTMLelementsasrectangularboxes.property 查看详情

android深入系统完全讲解(13)

3编译过程讲解1系统的编译过程Android的编译使用的Makefile,推荐大家使用《GNUmake中文手册》,这本书有电子版,非常方便,主要是要理解清楚Makefile的规则,编译策略,可以通过写简单的编译机制,熟... 查看详情

全屏banner及全屏轮播

一、全屏banner1、设置网页图片全屏banner<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title><style>*{margin:0;padding:0;}.pic{width:100%;height:600p 查看详情

easyuicombobox多选及全选功能(代码片段)

效果如下:  代码如下:$("#DepartmentCode").comboex(data:["value":"","text":"全部","value":"001","text":"部门1","value":"002","text":"部门2","value":"003","text":"部门3"],valueField:‘value‘,textField: 查看详情

ubuntu20.04编译carla0.9.13源码(代码片段)

由于要研究一下carla的源码,准备先编译一下carla源码,选用的os是ubuntu20.04,carla的版本是0.9.13.编译的环境和步骤按照carla的官方文档来就可以了,但是还是有几个坑,所以特别记下来,供大家参考。编译un... 查看详情