-j在使用 gradle 构建 Android 应用程序时,我需要将参数传递给 ninja。(在 Windows 上)
为什么我需要这个?- 我们有巨大的统一 C++ 文件,需要大量内存才能编译。目前我没有足够的内存(约 10GB 可用)来在 8 个内核上并行编译它们。因此,当内存耗尽时,clang 会失败。
我看到 gradlecmake使用--buildkey运行,所以我试图在-j1那里添加我的arg。但似乎arguments字段仅用于 cmake 生成,因为它不会影响在构建阶段传递给 cmake 的命令行。
externalNativeBuild {
cmake {
cFlags "..."
cppFlags "..."
arguments "... -- -j1"
}
}
Run Code Online (Sandbox Code Playgroud)
我现在看到的唯一方法是ninja用一些包装器替换-j从那里传递。但这是我想使用的最后一个选项。感谢有关如何实现这种有效方式的任何想法。