Android Studio中CMake构建非并行问题及并行构建实现方法
在Android Studio中启用CMake并行构建的方法
刚好之前研究过这个问题,给你分享几个实用的配置方法,确保CMake能并行编译多个源文件:
方法一:通过Android Studio图形界面全局配置
这是最直观的方式,适用于所有项目的构建任务:
- 打开设置面板:Windows/Linux点击
File > Settings,Mac点击Android Studio > Settings - 导航到
Build, Execution, Deployment > Compiler - 在Command-line Options输入框中添加
-jN(N替换成你想要的并行线程数,建议设为CPU核心数的1-2倍,比如8核CPU填-j8或-j16) - 顺带可以调整下Build process heap size,适当调大内存分配,避免并行构建时出现内存不足的问题
方法二:通过Gradle全局配置文件生效
如果想让所有项目都默认开启并行构建,可以修改根目录的gradle.properties:
打开项目根目录下的gradle.properties,添加以下配置:
# 开启Gradle自身的并行构建 org.gradle.parallel=true # 调整Gradle JVM内存(按需修改) org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 # 指定CMake并行编译的任务数 android.native.build.jobs=8
这里的android.native.build.jobs=8就是专门给CMake设置的并行线程数,同样根据你的CPU配置调整即可。
方法三:针对单个Module配置CMake并行
如果只想让某个特定模块启用并行构建,修改对应Module的build.gradle文件:
android { defaultConfig { externalNativeBuild { cmake { // 添加并行编译参数 arguments "-j8" // 其他CMake配置(比如编译类型、定义宏等) // cppFlags "-std=c++17" // arguments "-DCMAKE_BUILD_TYPE=Release" } } } externalNativeBuild { cmake { path "CMakeLists.txt" version "3.22.1" // 你的CMake版本 } } }
补充说明
其实Android Studio默认会根据CPU核心数自动设置并行构建,但有时候会因为自定义配置、旧版本Gradle/CMake等原因导致自动配置失效。上面的几种方法可以强制开启并行,你可以根据自己的需求选择其中一种即可。
内容的提问来源于stack exchange,提问作者Inline
相关产品推荐
相关产品推荐

