我刚刚安装了最新的Android和Android。在检查NDK安装的platforms目录时,我可以看到以下平台:
android-9
android-12
android-13
android-14
android-15
android-16
android-17
android-18
android-19
android-21
android-22
android-23
android-24您可以看到,NDK中缺少API级别10、11、20和25。那这是为什么?
如果我的应用程序应该以API级别11为目标呢?在这种情况下,我应该定义什么为ANDROID_PLATFORM?我尝试了以下方法,虽然我的NDK中没有android-11目录,但它似乎有效:
externalNativeBuild {
cmake {
arguments '-DANDROID_PLATFORM=android-11',
'-DANDROID_TOOLCHAIN=clang'
}
}这是实现API 11级目标的正确方法吗?这让我有点困惑,因为它似乎很有效,但正如我说过的,我的NDK安装中没有android-11目录.
感谢任何人,谁能为这一点提供一些启示!
发布于 2017-04-22 14:57:06
你可以在NDK指南上找到你的问题的答案。底线是,并不是所有的系统升级都涉及到对公共(稳定)原生API的更改,因此在platforms下没有单独的目录。例如,要使您的本地库与API 11 (蜂窝)兼容,您应该使用platforms/android-9。
一般来说,Android,特别是用于Android的CMake实用程序,都知道这条规则,并明确地强制执行它( 这里 )。
请注意,最近的NDK (r14)已经放弃了对API 9(姜饼)以下平台的支持。
更新在NDK r15中有一个错误:它不能正确地处理缺少的Androd-25文件夹。因此,如果您的Android项目有APP_PLATFORM=android-24,您应该手动选择minSdkVersion 25 (如果使用cmake,则手动选择minSdkVersion 25)。
发布于 2017-04-27 14:02:50
通过和一个android的家伙聊天,我知道api 25并不存在,因为“自从24版以后就没有新的特性了”。
https://stackoverflow.com/questions/43559120
复制相似问题