在Android Studio 3.3中,我使用了本机(C ++)库,该库是用CMake构建的。 Android插件(3.2.1版)将根据externalNativeBuild
的配置选择'builtin'或'external'cmake,如developer.android.com所述。
我想添加一个额外的自定义任务(安装),该任务应使用与Android插件相同的 cmake 版本。但是即使使用“内置” cmake,也不清楚路径是什么。我可以找到android.sdkDirectory
,但是即使今天我也有sdk\cmake\3.6.4111459
和sdk\cmake\3.10.2.4988404
,由于某些奇怪的原因,我的一些项目选择了 3.6 ,而其他项目使用了 3.10 。这与Android Studio的官方发行说明相矛盾,该发行说明“ Gradle默认仍使用3.6.0版本” ,但是……
如何在不重新实现Android插件晦涩的逻辑的情况下决定使用哪个?
可能有用的一种解决方法是,解析生成的文件.externalNativeBuild/cmake/debug/armeabi-v7a/cmake_build_command.txt
的第一行:
Executable : C:\local\Android\sdk\cmake\3.10.2.4988404\bin\cmake.exe
这仍然需要进行一些调整,因为更高版本的构建工具将使用.cxx
而不是.externalNativeBuild
;构建变体名称可能也不同。
答案 0 :(得分:0)
Android Studio将在sdk\cmake
下获取最新CMake版本,但是您可以通过
externalNativeBuild {
cmake {
...
version "cmake-version"
}
}
并在local.properties
内指定我们的自定义CMake导演
cmake.dir="path-to-cmake"
或者,您可以选择不要从SDK Manager升级CMake (只需删除sdk\cmake\<version to delete>
文件夹就可以了),以便您可以坚持使用项目的CMake版本。舒服。