Cha*_*non 5 android cmake android-ndk
当使用 CMake 为 Android 构建时,CMAKE_SYSTEM_VERSION 对应于最低 api 级别还是目标 api 级别?
这是CMake 要构建的操作系统的版本。CMake 将其设置为目标平台的Android API 级别。通常我们是设置CMAKE_ANDROID_API而不是CMAKE_SYSTEM_VERSION直接操作。
不幸的是,我们在 Android Studio 中使用的 Android gradle 插件使用的NDK 工具链文件1使用了一组完全不同的变量,并将其设置为“禁止所有 CMake 自己的 NDK 处理代码”。相反,它期望ANDROID_PLATFORM。
无论如何,关于最低 API 级别与目标 API 级别的问题非常重要。与 Android SDK 不同,NDK 平台支持不向后兼容。对于 Java,最佳实践是将目标 API 设置得尽可能高(并使用最新的可用 SDK 进行编译),并谨慎使用旧设备上可能不可用的 API。
对于 C++,我们必须以不同的方式工作。即使是最新的 NDK r18 也有可追溯到 的“平台” android-16,因此您也可以构建 C++ 代码以在这个旧系统上运行。就 Android SDK 而言,这对应于minSdkVersion.
| 归档时间: |
|
| 查看次数: |
2832 次 |
| 最近记录: |