如何在更改compileSDK版本时修复android支持库的问题?

如何在更改compileSDK版本时修复android支持库的问题?,android,build,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,或者这会导致潜在的构建问题 编辑: 我一直在读更多的文

为了支持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版本中受支持的功能,而在我的应用程序的minimumSDK版本中不受支持。

而支持库的主要编号应始终与
CompileSDK版本相匹配,您不需要更改
compileSdkVersion
来支持KitKat,我建议您不要这样做

自KitKat发布以来的三年中,Android的开发一直在进行。为了能够制作现代材料应用程序,您需要使用最新版本的SDK。例如,对于SKD 19,没有Design或RecyclerView库

为了确保您支持API 19,请在可能的情况下使用类的支持库版本,并在使用方法之前了解方法的API级别

当将
minSdkVersion
设置为19时,如果您使用API级别19上不支持的方法,则编译不会给您错误,当您这样做时,lint将警告您。它将引发一个新的API eror,用于调用应用程序目标的所有版本都不支持的新方法


您可以通过
gradlew lint
手动运行,也可以在创建发行版甚至调试版本时运行lint。设置
abortOnError true
时会导致生成错误,其影响与编译错误类似。

如果我将最低API级别设置为19,编译器会告诉我是否使用了高于19级的API方法吗?@Roymunson我扩展了我的答案以解决您的评论。