安卓SDK版本

标签 android sdk

我很困惑应用程序在不同 Android 版本上启动时的行为方式。

假设我正在使用 SDK 级别 4 编译它。它是在代码中编译的,并且在使用 SDK 10 的手机上运行它时仍然会使用旧的 SDK 4,还是会使用 SDK 10?

一个简单的例子是服务的 setForeground() 方法,它已被弃用。如果我在使用 SDK 10 的手机上运行这样的代码,该功能会不会有任何效果,还是会使用 SDK 4 的版本?

onStart() 也同样被弃用。它会在 SDK 10 上被忽略并尝试调用 onStartCommand() 吗?

如果有人能向我解释这里会发生什么以及为什么,我将不胜感激。

最佳答案

Is it compiled in the code and when running it on phone with SDK 10 will still use the old SDK 4, or it will use SDK 10?

SDK 表示软件开发工具包,因此设备不使用 SDK 运行任何东西。另一方面,设备具有属于特定 API 的不同类型的操作系统。

如果您运行使用 SDK 4 编译的构建,并在运行 API 10 的设备上运行它,它将使用新的 API 运行它(这称为向后兼容性)。

通常,较新版本的 SDK 支持已弃用的功能。它们中的大多数都可以工作,但您必须尽量不要使用它们。当然,在某些情况下您别无选择,例如,当您正在使用的方法已被弃用但您正在使用的旧 SDK 中没有替代方法时。

关于安卓SDK版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7286443/

相关文章:

java - 检测监听器是否已注册

android - Android 是否仍支持快速搜索框集成?

android - 通知的 Intent

java - 我有一个 ConnectException 由于某种原因没有被捕获

java - 我正在尝试编写谷歌地图应用程序代码,但即使在安装谷歌游戏商店服务后,我也收到以下错误:

Android - 以编程方式截取屏幕截图而无需引用 View /Activity

iphone - iOS : Move forward dynamically NSDate with button

android - 以编程方式安装 apk 时出错 : "android.content.ActivityNotFoundException: Unable to find explicit activity class"

sdk - 适用于 Alpha 和 NEX 的 Sony Playmemories SDK

api - “Drive SDK”和“Drive API”的区别