我们有一个非常大的C ++项目,我们为Android和iOS构建了跨平台。 Xcode在编译时使用所有内核,速度更快(4-5倍,具体取决于机器)。有没有办法改善NDK的表现?任何多CPU选项?我们有预编译的头文件,但在我看来,它是使用有问题的资源。
因此,非常感谢任何加快android ndk项目构建时间的提示或技巧!
答案 0 :(得分:19)
您不需要使用Android的构建系统进行编译;这些工具都可以在Makefile中使用(尽管您需要注意设置包含路径,库路径和编译器选项)。
由于您可以创建自己的Makefile而不是使用默认构建脚本,因此可以使用-jN
选项指定要执行的同时操作的数量。
答案 1 :(得分:2)
以下bulid.gradle片段显示了 -jN 和 abifilters 的示例:(请参阅http://google.github.io/android-gradle-dsl/current/com.android.build.gradle.internal.dsl.ExternalNativeNdkBuildOptions.html和https://google.github.io/android-gradle-dsl/current/com.android.build.gradle.internal.dsl.NdkOptions.html)
android {
compileSdkVersion 21
buildToolsVersion '25.0.3'
defaultConfig {
applicationId "test"
minSdkVersion 21
targetSdkVersion 21
ndk {
moduleName "native_lib"
abiFilters 'armeabi-v7a', 'arm64-v8a'
}
externalNativeBuild {
ndkBuild {
arguments '-j4'
}
}
jackOptions {
enabled true
}
}.....
答案 2 :(得分:0)