我有一个Android应用程序,该应用程序使用通过CMake构建的C ++本机代码。在项目的CMakeLists中,使用add_subdirectory()
添加了一个库。该库有许多目标,其中一些目标无法在Android平台上编译(它们会在Android上产生编译错误)。但是,我的Android应用程序没有针对任何这些目标进行链接,因此根本不需要构建这些目标。但是Android Studio仍会尝试构建它们。
我的问题是,是否有可能在Android Studio中以某种方式禁用这些目标。我可以告诉Android Studio不要建立这些目标吗?
答案 0 :(得分:2)
Google已经想到了这一点:您可以select which targets to build。
下面的示例是链接链接的最低版本。它只会生成libexample-one
:
android {
defaultConfig {
externalNativeBuild {
cmake {
// Note that Gradle packages only shared libraries into your APK.
targets "libexample-one"
}
}
}
}
或者,您可以修改库的CMakeLists.txt,以排除有问题的目标自动构建。