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

Should I change both the target SDK and compile SDK to support higher versions?

我希望我的应用程序在 Android 9 上 运行。目前它既针对 SDK 26 也针对 SDK 26 进行编译。将我的目标和编译版本从 26 更新到 28 时,似乎没什么改变。它 运行 在我自己的 phone (22) 和 25 的模拟器上是一样的,但它现在也在 28 上 运行s。除了目标版本和编译版本,我没有更改任何一行代码。

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

如果我想让我的应用程序在 android 9 上达到 运行,我应该将目标定为 28、编译为 28 还是两者?

如果您不更新 compileSdkVersion,预计您的应用将向前兼容。换句话说,它预计 运行/ 在您的 minSDKVersion.

支持的所有版本上表现相同

例如,如果您的 minSDKVersion 是 API 19,您的应用将在 Android 4.4、Android 8 上 运行 , Android 9 预计 运行 在 Android 10.

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

如果你正在寻找 compileSdkVersiontargetSdkVersion 之间的区别 - 你可以在另一个 Whosebug 上找到一个非常好的答案 thread.

简要说明:

  • compileSdkVersion

The compileSdkVersion is the version of the API the app is compiled against.

  • targetSdkVersion

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