我是否应该同时更改目标SDK和编译SDK以支持更高版本?

时间:2019-01-15 07:17:33

标签: android sdk target-sdk

我希望我的应用程序可以在Android 9上运行。目前,它既可以定位并编译到SDK26。将目标和编译版本从26升级到28时,似乎没有什么改变。它在我自己的手机(22)和仿真器(25岁)上运行相同,但现在也可以在28岁上运行。除了目标版本和编译版本外,我没有更改任何一行代码。

我的应用程序没有使用任何需要更改的内容吗?这是一个非常简单的SQLite应用程序,甚至不使用互联网。

如果我想让我的应用程序在android 9上运行,我应该定位到28,还是编译到28,或者两者都定位?

1 个答案:

答案 0 :(得分:1)

如果您不更新您的 compileSdkVersion ,则期望您的应用程序将向前兼容。换句话说,它应该在您的 minSDKVersion 支持的所有版本上以相同的方式运行/运行。

例如,如果您的 minSDKVersion 是API 19,则您的应用将在Android 4.4,Android 8,Android 9上运行,并且有望在Android 10上运行。

更新您的 compileSdkVersion 是一个很好的方法,因为每个新版本都需要一年的开发时间-预计它会更稳定并且可以使用更新的API /功能。有时,这样做意味着您必须更改某些行为(有关更多信息,请参见官方文档上的here)。

如果您希望区分 compileSdkVersion targetSdkVersion -您可以在另一个StackOverflow thread上找到一个很好的答案。

简而言之:

  • compileSdkVersion
  

compileSdkVersion是应用程序针对其进行编译的API版本。

  • targetSdkVersion

    targetSdkVersion应该表明您已经在指定的版本(大概包括以下)上测试了您的应用程序。