格拉德尔版本冲突



我的build.gradle很好,直到我尝试更新sdk版本(到27(和lib版本。

在我的build.gradle中,我现在有:

dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support:design:27.1.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.2'
implementation 'com.google.code.gson:gson:2.8.2'
implementation 'com.google.android.gms:play-services-ads:15.0.1'
implementation 'com.google.firebase:firebase-crash:16.0.1'
implementation 'com.google.firebase:firebase-core:16.0.1'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}

我收到错误消息:

Please fix the version conflict either by updating the version of the google-services plugin 
(information about the latest version is available at https://bintray.com/android/android-tools/com.google.gms.google-services/) or updating the version of com.google.android.gms to 15.0.1.

.. 但如您所见,它是 15.0.1。

我下面还有摆动的红色下划线

implementation 'com.android.support:appcompat-v7:27.1.1'

当我将鼠标悬停时,我得到:

all support libraries must use the exact same version ... found versions 27.1.1 and 26.1.0

但我没有看到任何 26.1.0。

我做错了什么?

你需要更新你的主 build.gradle 文件:

如果您使用的是Android Studio 3.1.2,那么在您的build.gradle文件中应该看起来像这样:

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
classpath 'com.google.gms:google-services:4.0.1' // you need to update this most probably.
}
}
allprojects {
repositories {
google()
jcenter()
mavenCentral()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}

在您的模块的 build.gradle 文件中implement最新版本custom tabs在您的情况下它是27.1.1

'com.android.support:customtabs:27.1.1'

转到安卓工作室,然后按文件 -> 使缓存失效/重新启动 在出现的窗口中按无效并重新启动, 问题可能出在缓存版本中, 为我工作(

我也有类似的问题。更新后。幸运的是,在经历了许多线程后解决了这个问题。

当您使用 Firebase 时,我建议您更新 crashlytics。由于旧版本已弃用。

buildscript {
repositories {
google()
jcenter()
maven {
url 'https://maven.fabric.io/public'
}
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.3'
classpath 'com.google.gms:google-services:4.0.1' 
classpath 'io.fabric.tools:gradle:1.25.4'
}
}
allprojects {
repositories {
google()
jcenter()
maven {
url 'https://maven.google.com/'
}
}
}

现在用于依赖项

apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
apply plugin: 'com.google.gms.google-services'
android {
compileSdkVersion 27
defaultConfig {
applicationId "com.app.abc"
minSdkVersion 19
targetSdkVersion 27
......
}
}
dependencies {
api fileTree(dir: 'libs', include: ['*.jar'])
api 'com.android.support:appcompat-v7:27.1.1'
api 'com.android.support:support-v4:27.1.1'
api 'com.android.support:design:27.1.1'

//crash analytics
api 'com.crashlytics.sdk.android:crashlytics:2.9.3'
api 'com.google.firebase:firebase-crash:11.8.0'
//Google Maps. You can avoid this, as I was using location services as well
api 'com.google.android.gms:play-services-maps:12.0.1'
api 'com.google.android.gms:play-services-places:12.0.1'
api 'com.google.android.gms:play-services:12.0.1'
api 'com.google.android.gms:play-services-location:12.0.1'
}

错误说您有依赖冲突。我曾经在浓缩测试中遇到过这种情况。你要做的是排除 expresso 测试库的其他依赖项。此堆栈帖子可能会有所帮助

androidTestCompile ('com.android.support.test.espresso:espresso-core:3.0.2'){
exclude module: 'support-annotations'
exclude module: 'support-v4'
exclude module: 'support-v13'
exclude module: 'recyclerview-v7'
exclude module: 'design'
}

相关内容

  • 没有找到相关文章

最新更新