首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Android错过了某些API级别?

为什么Android错过了某些API级别?
EN

Stack Overflow用户
提问于 2017-04-22 12:18:40
回答 2查看 2.8K关注 0票数 2

我刚刚安装了最新的Android和Android。在检查NDK安装的platforms目录时,我可以看到以下平台:

代码语言:javascript
复制
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目录,但它似乎有效:

代码语言:javascript
复制
externalNativeBuild {
    cmake {
        arguments '-DANDROID_PLATFORM=android-11',
                  '-DANDROID_TOOLCHAIN=clang'
    }
}

这是实现API 11级目标的正确方法吗?这让我有点困惑,因为它似乎很有效,但正如我说过的,我的NDK安装中没有android-11目录.

感谢任何人,谁能为这一点提供一些启示!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 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)。

票数 6
EN

Stack Overflow用户

发布于 2017-04-27 14:02:50

通过和一个android的家伙聊天,我知道api 25并不存在,因为“自从24版以后就没有新的特性了”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43559120

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档