0

我希望我的应用程序在 Android 9 上运行。目前它既针对 SDK 26 也可以编译到 SDK 26。当将我的目标更新并将版本从 26 编译到 28 时,似乎没有太大变化。它在我自己的手机 (22) 和 25 的模拟器上运行相同,但它现在也可以在 28 上运行。除了目标和编译版本之外,我没有更改任何一行代码。

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

如果我希望我的应用程序在 android 9 上运行,我应该以 28 为目标,编译为 28,还是两者兼而有之?

4

1 回答 1

1

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

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

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

如果您正在寻找compileSdkVersiontargetSdkVersion之间的区别- 您可以在另一个 StackOverflow线程上找到一个非常好的答案。

简要地:

  • compileSdkVersion

compileSdkVersion 是应用程序编译所针对的 API 版本。

  • 目标SDK版本

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

于 2019-01-15T09:56:28.670 回答