我们有一个相当大的C++项目,我们建立了跨平台的安卓和iOS。Xcode在编译时使用所有内核,而且速度更快(4-5倍取决于机器)。有没有办法改善NDK糟糕的性能?是否有多CPU选项?我们已经预编译了头文件,但在我看来,这是资源使用的问题。
因此,任何加快android ndk项目构建时间的技巧或技巧都将不胜感激!
发布于 2012-09-28 20:57:57
您不需要使用Android的构建系统进行编译;这些工具都可以在Makefile中使用(尽管您需要小心设置include路径、库路径和编译器选项)。
由于您可以创建自己的Makefile,而不是使用默认的构建脚本,因此可以使用-jN
选项指定要执行的并发操作的数量。
发布于 2017-11-29 23:40:44
以下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
}
}.....
发布于 2019-09-21 20:59:15
对于收到以下错误的每个人
在类型为com.android.build.gradle.internal.dsl.NdkBuildOptions.的对象上,
找不到参数-jx的方法参数()
这是有区别的
android.externalNativeBuild
(here)和
android.defaultConfig.externalNativeBuild
(here).
android.defaultConfig.externalNativeBuild
接受arguments
并可用于设置-j
选项。
https://stackoverflow.com/questions/12640377
复制相似问题