【发布时间】:2019-08-01 14:18:34
【问题描述】:
我的 gradle 文件在构建时没有抛出任何错误。但是,当我运行 Android lint 时,它会因不兼容的 gradle 版本错误而失败。
分享错误:
Gradle 版本不兼容
../../build.gradle:所有 com.google.android.gms 库必须使用完全相同的版本规范(混合版本可能导致运行时崩溃)。找到版本 16.0.2、16.0.1、16.0.0、15.1.0、15.0.1。示例包括 com.google.android.gms:play-services-measurement-base:16.0.2 和 com.google.android.gms:play-services-measurement-api:16.0.1**
共享应用级 gradle 中定义的 google 依赖项:
compile 'com.android.support:appcompat-v7:27.1.1'
compile 'com.android.support:gridlayout-v7:27.1.1'
compile 'com.android.support:design:27.1.1'
compile 'com.android.support:recyclerview-v7:27.1.1'
compile 'com.android.support:cardview-v7:27.1.1'
compile 'com.android.support:preference-v14:27.1.1'
compile 'com.android.support:support-annotations:27.1.1'
compile 'com.android.support.constraint:constraint-layout:1.1.3'
compile 'com.google.android.gms:play-services-location:15.0.1'
compile 'com.google.android.gms:play-services-maps:15.0.1'
compile 'com.google.android.gms:play-services-analytics:16.0.0'
compile 'com.google.android.gms:play-services-auth:16.0.0'
compile 'com.google.firebase:firebase-core:16.0.3'
compile 'com.google.firebase:firebase-messaging:17.3.0'
compile 'com.google.code.gson:gson:2.8.2'
项目级gradle文件:
classpath 'com.android.tools.build:gradle:2.3.3'
classpath 'com.google.gms:google-services:1.5.0'
哪个依赖导致这个 lint 错误?如何解决这个gradle不兼容问题?
我已尝试将所有 google gms 版本更改为 15,但并没有解决问题..
compile 'com.google.android.gms:play-services-location:15.0.1'
compile 'com.google.android.gms:play-services-maps:15.0.1'
compile 'com.google.android.gms:play-services-analytics:15.0.2'
compile 'com.google.android.gms:play-services-auth:15.0.1'
【问题讨论】:
-
尽量使用同版本的同类型依赖。例如:
com.google.android.gms:play-services...的所有依赖项应该是相同的版本(就像你所有的com.android.support:...依赖项都在保存版本中)。 -
使用文档developers.google.com/android/guides/setup中提到的最新版本
标签: android gradle android-gradle-plugin google-play-services build.gradle