В Android Studio 3.3 я использую нативную (C ++) библиотеку, которую я создал с помощью CMake.Плагин Android (v. 3.2.1) выберет «встроенный» или «внешний» cmake, в зависимости от конфигурации externalNativeBuild
, как описано на developer.android.com .
Я хочу добавить дополнительную пользовательскую задачу (установить), которая должна использовать ту же версию cmake , что и плагин Android.Но даже с «встроенным» 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
;Имена вариантов сборки тоже могут отличаться.