为了支持 Kitkat,我将应用的编译 SDK 版本和最低 SDK 版本从 23 更改为 19。
问题出在我的 build.gradle 文件中,我有以下依赖项:
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:design:23.1.1'
我收到错误消息,这些支持库不应使用与编译 SDK 版本不同的 SDK 版本。
我可以将 23.1.1
更改为 19.1.1
还是会导致潜在的构建问题?
编辑:
我读了更多文章,他们说我应该始终将compileSDK版本设置为最新版本。然而,据我了解,这可能会导致我使用仅在最新 SDK 版本中支持的功能,而不是在我的应用程序的最小 SDK 版本中支持的功能。
最佳答案
虽然支持库的主版本号应始终与 compileSdkVersion
匹配,但您无需更改 compileSdkVersion
来支持 KitKat,我建议不要这样做.
自 KitKat 发布以来的 3 年里,Android 开发取得了长足的进步。为了能够制作现代 Material 应用程序,您需要使用最新版本的 SDK。例如support library SKD 19 没有 Design 或 RecyclerView 库。
为了确保支持 API 19,请尽可能使用类的支持库版本,并在使用方法之前了解方法的 API 级别。
虽然将 minSdkVersion
设置为 19 会导致编译不会在您使用 API 级别 19 不支持的方法时给出错误,但当您这样做时,lint 会警告您。如果调用您的应用所针对的所有版本不支持的新方法,则会引发 NewApi 错误。
您可以运行 lint通过 gradlew lint 手动或者您可以 configure每当创建发行版甚至调试版本时都会运行 lint。设置 abortOnError true
while 会导致生成错误,其效果与编译错误类似。
关于android - 更改compileSDK版本时如何解决android支持库的问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36490048/