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

时间:2016-04-08 01:33:27

标签: 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版本中支持的功能,而不是在我的应用程序的minimumSDK版本中。

1 个答案:

答案 0 :(得分:2)

虽然支持库的主要数量应始终与compileSdkVersion匹配,但您不需要更改compileSdkVersion以支持KitKat,我建议不要这样做。

自从KitKat发布以来的3年里,Android开发已经发展。为了能够制作现代材料应用,您需要使用最新版本的SDK。例如,SKD 19的support library没有Design或RecyclerView库。

要确保您支持API 19,请在使用之前使用类的支持库版本,并在使用它们之前了解方法的API级别。

虽然将minSdkVersion设置为19会导致编译在您使用API​​级别19不支持的方法时不会给您错误,但是当您这样做时,lint会发出警告。它会引发NewApi错误,用于调用应用程序所针对的所有版本都不支持的新方法。

您可以通过gradlew lint手动运行lint,也可以configure lint在创建发布版甚至调试版本时运行。设置abortOnError true,同时导致与编译错误具有类似影响的构建错误。