瑞芯微RK3588 Android12系统编译过程中报如下错误:
查看编译log:
发现环境至少需要的内存容量为16GB,更换16GB+硬件平台,重新搭建环境。
重新编译报同样的错误,查看编译log:
怀疑还是内存容量太小的问题,根据提示尝试修改build.sh中 Function build_android() -j参数:
更改为make -j4 甚至是-j3编译失败问题依旧。由于硬件受限,只能尝试增加交换内存空间。
增加交换内存空间步骤如下:
接下来增加交换内存。配置交换内存,需要用户根据自己的实际情况进行配置。这里举例分配 5G 交换内存。 在开始之前,使用命令检查一下您的 ubuntu 的 swap 分区,可以看到交换分区为 2G ,如下图所示:
sudo swapon --show
然后通过以下命令创建一个用于 swap 的文件,此时可能会显示“fallocate:fallocate failed:Text file busy”如下图所示:
执行以下命令关闭系统交换分区,如下图所示:
然后再次执行以下命令创建一个用于 swap 的文件:
执行以下命令为 swapfile 文件设置正确的权限:
使用mkswap 实用程序在文件上设置 Linux SWAP区域:
使用以下命令激活 swap 文件:
要让创建好的 swap 分区永久生效,可以将 swapfile 路径内容写入到 /etc/fstab 文件当中:
保存退出,然后重启系统,主要是看看/etc/fstab文件设置是否生效。使用 swapon 或 free 命令验证 SWAP 是否处于活动状态,如下所示:
完成后重新./build.sh clean, ./build.sh可以正常编译。