我很清楚最低要求明确规定了 64GB RAM,但在另一篇操作文章中我读到了 32GB,并且该文章下的评论也证实了这一点。
但是当我尝试“m -j28”时,我得到了这样的结果: (现在还使用 -j8 进行了测试)
[100% 1/1] analyzing Android.bp files and generating ninja file at out/soong/build.aosp_cf_x86_64_phone.ninja
FAILED: out/soong/build.aosp_cf_x86_64_phone.ninja
cd "$(dirname "out/host/linux-x86/bin/soong_build")" && BUILDER="$PWD/$(basename "out/host/linux-x86/bin/soong_build")" && cd / && env -i "$BUILDER" --top "$TOP" --soong_out "out/soong" --out "out" --soong_variables out/soong/soong.aosp_
cf_x86_64_phone.variables -o out/soong/build.aosp_cf_x86_64_phone.ninja -l out/.module_paths/Android.bp.list --available_env out/soong/soong.environment.available --used_env out/soong/soong.environment.used.aosp_cf_x86_64_phone.build Android.bp
Warning: Module 'androidx.wear_wear' depends on non-existing optional_uses_libs 'wear-sdk'
Warning: Module 'androidx.wear.compose_compose-foundation' depends on non-existing optional_uses_libs 'wear-sdk'
Killed
20:55:51 soong bootstrap failed with: exit status 1
ninja: build stopped: subcommand failed.
#### failed to build some targets (54 seconds) ####
我在 out/verbose.log 文件中没有看到更多有用的信息。
另外,我不认为缺少可选库“wear-sdk”是构建被终止的原因。
那么到底是 RAM 吗?
尝试配置 ZRAM。 ZRAM 是内存交换的一种形式,它将交换的内存页面压缩到 RAM 中,而不是将它们交换到磁盘。我建议将 ZRAM 设置为总 RAM 大小的 3/4。这应该可以让您在具有 32 GiB 物理 RAM 的计算机上获得接近 64 GiB 的可用 RAM。
如果绝对必要,请同时使用 ZRAM 和磁盘交换,但首先尝试仅使用 ZRAM 并使用较少的线程,因为磁盘交换非常慢。理论上,足够大的磁盘交换几乎可以保证成功。
这里是解释如何配置 ZRAM 的示例文章:https://fosspost.org/enable-zram-on-linux-better-system-performance
我注意到在 AOSP 构建期间有两个阶段需要大量 RAM: