我有一个包含我的本机代码的android库,我将该库导入我的应用程序。我已经在这个库中编写了一些本机C / C ++代码,并使用ndk-build
设置了编译。这是我添加到我的库的gradle文件中的代码:
externalNativeBuild {
ndkBuild {
path 'src/main/jni/Android.mk'
}
}
这一切都很好。现在,我想要包含一个外部本机C / C ++库,我有关于如何使用CMake
进行设置的说明。我编写了代码以将此外部库包含到我的顶级CMakeLists.txt
中,并将其包含在我的gradle中,看起来不像
externalNativeBuild {
ndkBuild {
path 'src/main/jni/Android.mk'
}
cmake {
// Provides a relative path to your CMake build script.
path "CMakeLists.txt"
}
}
当我尝试构建它时,我收到错误说
指定了多个externalNativeBuild路径
有没有办法构建这个,或者我只能使用ndk-build
或CMake
中的一个。
答案 0 :(得分:0)
cmake和gnu make(构成ndk-build的基础)都支持自定义目标和外部工具,因此您可以从Android.mk启动您的cmake部分,反之亦然。
但这对Android Studio集成没有帮助。要为两个本机子项目提供完全IDE支持,您可以重写一个或另一个以使用相同的外部本机构建,或者从应用程序模块中提取依赖于其中一个的部分,从应用程序模块到库模块。