android - 更改compileSDK版本时如何解决android支持库的问题?

标签 android build

为了支持 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/

相关文章:

mysql - 如何在 Unix 上导出 MySQL 数据库的内容?

java - 如何在 Observable RxJava 中处理处置

Android - 为 RecyclerView 实现搜索过滤器

android - 钛安卓SDK

android - 如何在 android 中为纸板渲染 3d 视频?

Android Studio Build 在 Windows 10 上使用 100% CPU

build - 找不到 Pixman - Cmake 错误

java - 电池使用,会发生什么?

node.js - 如何增加 Ionic 的 Javascript 堆大小

java - 如何一次性构建多个 Android 项目