Для Android CMAKE_SYSTEM_VERSION означает минимальный уровень API или целевой уровень API? - PullRequest
0 голосов
/ 16 октября 2018

При использовании CMake для сборки под Android, CMAKE_SYSTEM_VERSION соответствует минимальному уровню API или целевому уровню API?

1 Ответ

0 голосов
/ 17 октября 2018

Это версия операционной системы , для которой собирается CMake .CMake устанавливает на уровень API Android целевой платформы.Обычно мы устанавливаем CMAKE_ANDROID_API вместо непосредственного манипулирования CMAKE_SYSTEM_VERSION.

К сожалению, файл цепочки инструментов NDK , который используется плагином gradle для Android, который мы все используем в Android Studio, использует совершенно другой набор переменных и устанавливает для 1 значение «Запретить весь собственный код обработки NDK в CMake» .Он ожидает ANDROID_PLATFORM вместо.

В любом случае, ваш вопрос о минимальном и целевом уровне API очень важен.В отличие от Android SDK, поддержка платформы NDK не обратно совместима .В Java лучше всего устанавливать целевой API как можно выше (а также компилировать его, используя последний доступный SDK) и осторожно использовать API, которые могут быть недоступны на старых устройствах.

С C ++ мыдолжен работать по-другому.Даже в последней версии NDK r18 «платформы» возвращаются к android-16, так что вы можете собрать свой код C ++ для работы и на этой более старой системе.С точки зрения Android SDK, это соответствует minSdkVersion.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...