【发布时间】:2013-03-13 06:04:46
【问题描述】:
我已经使用 API 13 和 min-sdk 以及 API 13 开发了一个 Android 应用程序构建。我想合并跨选项卡的滑动,为此我使用 v4 support library。
我有以下问题,
- 我应该使用 v4 还是 v13 哪个支持库?
- 是否应该将目标更改为 API 14?更重要的是,我如何决定要针对哪个 API 进行编译?
【问题讨论】:
标签: android android-support-library
我已经使用 API 13 和 min-sdk 以及 API 13 开发了一个 Android 应用程序构建。我想合并跨选项卡的滑动,为此我使用 v4 support library。
我有以下问题,
【问题讨论】:
标签: android android-support-library
对于问题 1:
正如@StinePike 所说,根据您使用的最低要求,如果您的 min sdk >=13,您应该使用 v4 的 min-sdk = 4-12 可以使用 v13。
更新正如 Frank 在 cmets 中所述,对于所有支持库的 minsdk 修订版 26.0.0 及更高版本是 API 级别 14。有关详细信息,请参阅 https://developer.android.com/topic/libraries/support-library/index.html#api-versions。
对于问题 2:最好的 target 取决于你打算做什么,如果你想提供一些在更高 sdk 级别中引入的功能,你必须使用更高的 target-sdk 但确保你检查了 android版本不使用在具有较旧 android 版本的设备上的更高 sdk 版本中引入的 android api
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
// safe to use api 11 / Android 3.0 stuf
} else {
// only use api level <= 10 stuff
}
对于 min-sdk 也是一样的。如果你需要 api 级别 >= 10 的东西,你必须使用 min-sdk 10
我的意见:不要使用 api 级别
我的意见(截至 2016 年 4 月):不要使用 api 级别
用于检查android OS版本的分布检查:https://developer.android.com/about/dashboards/index.html
【讨论】:
从developer site你可以找到
注意:支持包包含多个支持库。每个 一个具有不同的最低 API 级别。例如,一个图书馆 要求 API 级别 4 或更高,而另一个要求 API 级别 13 或 更高(v13 是 v4 的超集,包括额外的支持 使用 v13 API 的类)。最低版本由 目录名称,例如 v4/ 和 v13/。
我认为这清楚地回答了您的问题。如果您想支持较低的操作系统版本(4 或更高版本)并且 v4 库 api 满足您的目标,请使用它,否则使用 v13
【讨论】:
由于 android 2.3.3 - 2.3.7 现在在martet 中占 23.6%,我建议为这些设备设置 minSdk = 10,尤其是 google 为开发人员提供了一个很好的解决方案,可以通过使用支持 v4 和 v7 更好地练习。
对于您的问题,我发布的a detailed answer 可能会有所帮助。
【讨论】: