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 降级 )(代码片段