Android min api级别

时间:2015-11-28 21:23:42

标签: android emulation compatibility android-min-sdk target-sdk

我有2个问题。 如果我使用targetSDKVersion 23编译了我的应用,但在运行api level 19的模拟器上对其进行了测试,我是否确定它会在api level 19的设备上运行?

当我将minSDKVersion设置为API level并使用该api级别上不可用的内容时,我会收到编译错误吗?如果不是,我怎么能确定我的程序与minimum api level兼容的是什么?

1 个答案:

答案 0 :(得分:1)

  

如果我使用targetSDKVersion 23编译我的应用程序,但在运行api level 19的模拟器上测试它

targetSdkVersion无法更改您的代码或其在设备上的运行方式。

  

当我将minSDKVersion设置为API级别并使用该api级别上不可用的内容时,我会收到编译错误吗?

您不会遇到编译错误 - 您会收到lint警告。如果您实际在没有该API的设备上运行,则会出现运行时错误。

  

我怎样才能确定最低api级别

在运行时,您可以查询设备的SDK级别:

Build.VERSION.SDK_INT将是API级别。

然后,您可以使用常量执行检查以优雅地降级:

if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
    // fallback
} else {
    // use your lollipop api
}