【发布时间】:2018-08-16 21:57:34
【问题描述】:
我的 minSDK 版本是 16,我的 targetSDK 版本是 27。compileSDK 版本是 28。
由于 targetSDK 版本是 27,它应该可以在 Oreo(8.0.0) 上运行而不会出现问题,但某些功能无法按预期工作。然而,它们在牛轧糖上运行良好。 为什么会这样?
【问题讨论】:
我的 minSDK 版本是 16,我的 targetSDK 版本是 27。compileSDK 版本是 28。
由于 targetSDK 版本是 27,它应该可以在 Oreo(8.0.0) 上运行而不会出现问题,但某些功能无法按预期工作。然而,它们在牛轧糖上运行良好。 为什么会这样?
【问题讨论】:
targetSDK 说明了您在应用中构建的能够处理的内容。因此,API 28 中可能有一个新功能,并且您说您的代码是针对 API 27 构建的,因此如果您在 API 28 上运行并且在 28 上支持您之前使用该 api 的方式,那么它将尝试维护您的 API 27 编码行为。如果在 API 28 上运行,您的 API 27 代码仍有可能导致不同或错误的行为。
请同时查看文档:
https://developer.android.com/guide/topics/manifest/uses-sdk-element
“要与每个 Android 版本一起维护您的应用程序,您应该增加此属性的值以匹配最新的 API 级别,然后在相应的平台版本上彻底测试您的应用程序。”
【讨论】: