4.开始编译

优质
小牛编辑
118浏览
2023-12-01

1. 检查

为避免失败,再次检查一下,swap 空间够不够10G,/tmp 可用空间够不够10G:

free -h
df -h

2. 创建一个初始化编译环境的脚本

vim sudamod.sh

输入以下内容:

#!/bin/sh

# 改为自己的源码路径
BASEPATH=~/android/sudamod

# 可选,进入 Python2 虚拟环境,见上一章说明
#source pyenv/bin/activate

# 创建 ccache 缓存目录
mkdir -p $BASEPATH/ccache_dir

export USE_CCACHE=1
export CCACHE_DIR=$BASEPATH/ccache_dir
export JACK_SERVER_VM_ARGUMENTS="-Xmx3g -Dfile.encoding=UTF-8 -XX:+TieredCompilation"
export SDCLANG=true
export SDCLANG_PATH=$BASEPATH/prebuilts/snapdragon/llvm-3.8/bin
export SDCLANG_LTO_DEFS=$BASEPATH/device/qcom/common/sdllvm-lto-defs.mk

cd $BASEPATH
./prebuilts/misc/linux-x86/ccache/ccache -M 50G
source build/envsetup.sh
breakfast z2_plus

保存退出,并给这个脚本执行权限:

chmod +x sudamod.sh

3. 进入编译环境

执行刚刚创建的脚本:

source sudamod.sh

每次编译都需要执行一下这个脚本。

4. 开始编译

普通用户与某些开发者间只差一个 brunch 的距离。————@乖奕虎

到了这一步,其实离成功就差一个 brunch 了(不出意外的话)。

brunch z2_plus

然后等着就好了。

第一次编译可能会比较慢,因为没有 ccache 缓存,以后编译就快了。

根据电脑配置不同,编译可能需要 1~5 个小时。