Ubuntu 20.04 编译 Android 源码
问题 —— 2022-02-22
错误 log:
[100% 1/1] out/soong/.bootstrap/bin/soong_build out/soong/build.ninja
FAILED: out/soong/build.ninja
out/soong/.bootstrap/bin/soong_build -t -l out/.module_paths/Android.bp.list -b out/soong -n out -d out/soong/build.ninja.d -globFile out/soong/.bootstrap/build-globs.ninja -o out/soong/build.ninja Android.bp
Clang SA is not enabled
可能的解决方案(仅适用于部分情况):
可能是分区的原因:
1. 查看一下当前系统中是否有分区以及分区的使用情况
-> free -h
出现以下:Swap 就是分区大小情况【我的是扩展之后的 swap 分区,内存: 32G】
total used free shared buff/cache available
Mem: 15Gi 4.2Gi 7.3Gi 219Mi 3.9Gi 10Gi
Swap: 31Gi 9.0Gi 23Gi
2. 如果在编译源码的时候 swap 分区的 free 为 0 的时候,就要考虑是不是分区太小导致的编译失败
3. 扩展 swap 分区大小
3.1 首先删除系统默认的分区
-> sudo swapoff /swapfile
-> sudo rm /swapfile
3.2 新建 swap 分区,假设我们想创建一个内存为 32G 的 swap 分区
-> sudo fallocate -l 32G /swapfile
3.3 分区固化
-> sudo chmod 600 /swapfile
-> sudo mkswap /swapfile
-> sudo swapon /swapfile
-> sudo swapon --show
查看一下 swap 分区是否创建成功
-> free -h
如果出现第一步中的内存数据,即创建成功
接着使自己创建的分区固化下来
-> sudo cp /etc/fstab /etc/fstab.bak
-> echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
finished!
以上仅适用于部分 Android 源码编译出现错误的情况。
|