为什么在Android Studio 3.2.1中得到“所有com.android.support库都必须使用完全相同的版本规范”的信息?

时间:2018-11-02 09:19:39

标签: android android-studio

我已阅读文章All com.android.support libraries must use the exact same version specification

但是我添加了代码实现.icon.trash { background: url("data:image/svg+xml;charset=UTF-8,<svg data>"); } .icon.save { background: url("data:image/svg+xml;charset=UTF-8,<svg data>"); } 之后仍然得到以下信息,为什么?

信息

所有com.android.support库必须使用完全相同的版本规范(混合版本可能导致运行时崩溃)。找到版本28.0.0,26.1.0。示例包括com.android.support:animated-vector-drawable:28.0.0和com.android.support:customtabs:26.1.0更多...(Ctrl + F1)

即使我清理项目并重建项目,信息也会保留。

代码

您可以在https://www.dropbox.com/s/zlg731ovf7h3bmi/NewMyApplication.zip?dl=0

下载代码

图片1

enter image description here

图片2 enter image description here

3 个答案:

答案 0 :(得分:7)

您的某些或其中一个库在内部使用旧版本的customtabs,这就是为什么显示此警告消息的原因。如果您使用最新版本实施此操作,则警告将消失。

implementation 'com.android.support:customtabs:28.0.0'

添加此选项后,对于另一个较旧版本的依赖项,我也显示了相同的错误。添加此内容后,所有警告也消失了。

implementation 'com.android.support:support-v4:28.0.0'
implementation 'com.android.support:design:28.0.0'
implementation 'com.android.support:support-media-compat:28.0.0'

希望这将帮助您解决问题。

您还可以检查以下内容:https://stackoverflow.com/a/42374426/5167909

答案 1 :(得分:0)

我认为play-services-ads:17.0.0包含appcompat 26.1.0。尝试排除它:

implementation ("com.google.android.gms:play-services-ads:17.0.0") {
    exclude group: "com.android.support"
}

答案 2 :(得分:0)

现在,只需添加noninspection即可禁止显示警告

//noinspection GradleCompatible
implementation 'com.google.android.gms:play-services-ads:17.0.0'

//noinspection GradleCompatible
implementation 'com.android.support:support-v4:28.0.0'
implementation 'com.android.support:design:28.0.0'
implementation 'com.android.support:appcompat-v7:28.0.0'

implementation 'com.android.support:recyclerview-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'

一切正常。