我最近一直在学习 Android,我对新的 AndroidX 库有疑问。我知道 AndroidX 只是对支持库的新升级,它专注于为早期的 Android SDK 提供向后兼容性。

但是,谷歌要求“如果要在新项目中使用AndroidX,需要将编译SDK设置为Android 9.0(API级别28)或更高”。我在这里很困惑。这是否意味着 AndroidX 实际上使用了一些仅在 Android 9.0 或更高版本上可用的 API 方法或功能?如果是这样,它如何为无法访问这些高级 API 方法的旧 API 提供向后兼容性?

我认为支持库对 compileSdkVersion 没有任何要求。

最佳答案



没有 AndroidX 可用于具有向后兼容性的 Android 版本

阅读 AndroidX Overview

  • 与支持库一样,AndroidX 与 Android 操作系统分开发布,并提供跨 Android 版本的向后兼容性。

  • 有关更多信息,请阅读 Android 开发者博客,了解 Hello World, AndroidX

    另请阅读有关 的更多信息 compileSdkVersion


  • compileSdkVersion 是告诉 Gradle 使用哪个版本的 Android SDK 编译您的应用程序的方式。使用新的 Android SDK 是使用该级别中添加的任何新 API 的必要条件。
  • 需要强调的是,更改 compileSdkVersion 不会改变运行时行为
  • 关于android - 为什么 AndroidX 需要将 compileSdkVersion 设置为 28 或更高,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53844925/

    10-13 22:05