【发布时间】:2018-10-15 11:57:33
【问题描述】:
我的项目中使用的第三方库之一需要来自 Android 支持库的 recyclerview 包。由于我的build.gradle 是用compileSdVersion 28 设置的,所以必须使用28.0.0 版本的库。
到目前为止,我可以看到项目构建没有错误的唯一方法是在 build.gradle 中列出所有依赖包:
dependencies {
....
implementation 'com.android.support:recyclerview-v7:28.0.0'
implementation 'com.android.support:asynclayoutinflater:28.0.0'
implementation 'com.android.support:animated-vector-drawable:28.0.0'
implementation 'com.android.support:support-vector-drawable:28.0.0'
implementation 'com.android.support:support-core-utils:28.0.0'
implementation 'com.android.support:support-compat:28.0.0'
implementation 'com.android.support:support-core-ui:28.0.0'
implementation 'com.android.support:support-fragment:28.0.0'
implementation 'com.android.support:support-annotations:28.0.0'
implementation 'com.android.support:support-v4:28.0.0'
implementation 'com.android.support:customtabs:28.0.0'
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:cardview-v7:28.0.0'
implementation 'com.android.support:design:28.0.0'
}
如果我至少省略上述行之一,我会收到 gradle 警告:All com.android.support libraries must use exactly same version specification (...). Found versions 28.0.0, 26.1.0。然后builder因为版本冲突而报错。
查看 gradle cache (~/.gradle/modules-2/files-2.1/com.android.support),我确实可以看到 28.0.0 和 26.1.0 版本。尝试从缓存中删除 v 26.1.0 并使用 com.android.support 实现行重建,除了第一个,注释掉。 Gradle 重新下载 v 26.1.0,我仍然得到错误!
有没有办法摆脱这种滋扰?
【问题讨论】:
-
在此错误之前提到了哪个库依赖项?:
(...). Found versions 28.0.0, 26.1.0你是否通过运行./gradlew app:dependencies进行检查 -
检查你的项目 build.gradle 文件
-
你在使用 buildToolsVersion '28.0.0' 如果你正在使用它,请在你的 gradle 中删除这一行,然后清理并再次构建 implementation 'com.android.support:support-v4:28.0.0'并替换为 support-v13:28.0.0
标签: android android-gradle-plugin build.gradle android-support-library