为了支持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版本中。
答案 0 :(得分:2)
虽然支持库的主要数量应始终与compileSdkVersion
匹配,但您不需要更改compileSdkVersion
以支持KitKat,我建议不要这样做。
要确保您支持API 19,请在使用之前使用类的支持库版本,并在使用它们之前了解方法的API级别。
虽然将minSdkVersion
设置为19会导致编译在您使用API级别19不支持的方法时不会给您错误,但是当您这样做时,lint会发出警告。它会引发NewApi错误,用于调用应用程序所针对的所有版本都不支持的新方法。
您可以通过gradlew lint
手动运行lint,也可以configure lint在创建发布版甚至调试版本时运行。设置abortOnError true
,同时导致与编译错误具有类似影响的构建错误。