Android内核编译

Posted 一杯清泉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android内核编译相关的知识,希望对你有一定的参考价值。

        android内核的编译需要是Mac或者ubuntu系统,centos和windows系统是不行的,磁盘需要不低于170G,如果磁盘太小编译不过,引发异常而导致中断。如果是使用的是MacOS,必须在要重新划分磁盘分区,以区分大小写,原有的磁盘不区分大小写,没法编译软件,另外换需要下载Xcode环境,配置比较麻烦, 内存下载也比较慢,很需要硬盘空间。所以我使用的是ubuntu系统统,很曲折,我执行的时候由于申请总磁盘300G,但是执行目录才100G,有没挂载其他硬盘,文件夹运行的磁盘剩余空间太小,导致失败,后面有重新追加了600G的硬盘才成功,配置如下:

一、配置软件源 

1、配置

        打开https://developer.aliyun.com/mirror/ubuntu,找到对应的软件源,输入命令:

sudo vim  /etc/apt/sources.list

        将原有的软件源删除,将对应的ubuntu配置复制进去,我的是ubuntu 18.04,在保存。试了下清华大学的软件源,某些编译软件下载不下来,后面使用了这个软件源一切正常。

2、更新

sudo apt update
sudo apt upgrade

3、安装jdk

sudo apt-get install openjdk-8-jdk

二、下载Android源码

1、确保主目录下有一个 bin/ 目录,并且该目录包含在路径中:

mkdir ~/bin
PATH=~/bin:$PATH

2、下载 Repo 工具,并确保它可执行:

curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo

3、创建一个空目录来存放您的工作文件

mkdir WORKING_DIRECTORY
cd WORKING_DIRECTORY

4、使用您的真实姓名和电子邮件地址配置 Git

git config --global user.name "Your Name"
git config --global user.email "you@example.com"

5、运行 repo init 以获取最新版本的 Repo 及其最近的所有错误更正内容

repo init -u https://android.googlesource.com/platform/manifest

        上述命令会要求Repo下载最新的Android源代码,也就是master分支,如果想下载其他分支:

git --git-dir .repo/manifests/.git/ branch -a

        然后选择指定分支,配置下:

repo init -u https://android.googlesource.com/platform/manifest -b android-10.0.0_r47

6、下载

repo sync

        等待一段时间,我大概等了一个小时下载完毕,如果是Mac系统,网速好了需要差不多10个小时以上。

三、编译Android源码

1、配置构建依赖

sudo apt-get install libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev g++-multilib -y
sudo apt-get install -y git flex bison gperf build-essential libncurses5-dev:i386
sudo apt-get install dpkg-dev libsdl1.2-dev libesd0-dev
sudo apt-get install git-core gnupg flex bison gperf build-essential
sudo apt-get install zip curl zlib1g-dev gcc-multilib g++-multilib
sudo apt-get install libc6-dev-i386 -y
sudo apt-get install lib32ncurses5-dev x11proto-core-dev libx11-dev
sudo apt-get install libgl1-mesa-dev libxml2-utils xsltproc unzip m4
sudo apt-get install lib32z-dev ccache
sudo apt install make make-guile -y
sudo apt-get install tofrodos -y
sudo apt-get install python-markdown libxml2-utils xsltproc zlib1g-dev:i386

2、执行环境脚本

source build/envsetup.sh

3、lunch命令

lunch

4、选择需要编译的类型序号

1

5、编译

make -j10

        -j10表示开启10个线程执行,根据自己的系统配置酌情选择。

6、结束 

        等待漫长的编译时间,2个多小时结束,Mac估计需要更久。 

         最新查看磁盘占用情况:总共用了161G,所以编译时候需要一个比较大的内存环境,否则等了好久前功尽弃。

 

     

以上是关于Android内核编译的主要内容,如果未能解决你的问题,请参考以下文章

错误记录Android Studio 编译报错 ( Could not determine java version from ‘11.0.8‘. | Android Studio 降级 )(代码片段

从官方未修改的源代码编译 android 内核会导致损坏的结果

Android内核的编译与测试

android 修改代码怎样编译

Xamarin Android 片段库

[原创]Nexus5 内核编译烧录过程记录