【问题标题】:Should I change both the target SDK and compile SDK to support higher versions?我应该同时更改目标 SDK 和编译 SDK 以支持更高版本吗?
【发布时间】:2019-06-09 04:36:57
【问题描述】:

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

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

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

【问题讨论】:

    标签: android sdk target-sdk


    【解决方案1】:

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

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

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

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

    简单地说:

    • compileSdkVersion

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

    • targetSdkVersion

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-10
      相关资源
      最近更新 更多