找不到与com.google.android.gms匹配的任何版本:play-services-base:[15.0.1,16.0.0)

时间:2018-06-11 06:32:22

标签: android firebase google-play-services

我在我的Android应用程序中使用firebase,当我尝试运行应用程序时突然发现错误。星期六,它工作得很好。我不知道这个错误是如何发生的,以及如何解决这个问题。请帮我。

我的build.gradle中的

依赖项

JSONObject xmlJSONObj = XML.toJSONObject(returnStrXML);

在我的项目级build.gradle:

dependencies {
    compile('com.crashlytics.sdk.android:crashlytics:2.5.2@aar') {
        transitive = true;
    }
    compile 'com.android.volley:volley:1.0.0'
    compile 'com.android.support:appcompat-v7:23.4.0'
    compile 'com.android.support:cardview-v7:23.4.0'
    compile 'com.facebook.android:facebook-android-sdk:4.1.0'
    compile 'com.google.code.gson:gson:2.8.4'
    compile 'com.android.support:multidex:1.0.3'
    compile 'com.microsoft.azure:azure-mobile-android:3.1.0'
    compile 'com.mixpanel.android:mixpanel-android:4.8.0'
    compile 'com.firebase:firebase-client-android:2.4.0'

    compile 'com.google.firebase:firebase-core:16.0.0'
    compile 'com.google.firebase:firebase-auth:16.0.1'
    compile 'com.android.support:support-v4:23.4.0'
    compile 'com.android.support:design:23.4.0'
    compile 'com.j256.ormlite:ormlite-android:4.48'
    compile 'com.j256.ormlite:ormlite-core:4.48'
    compile 'com.android.support:recyclerview-v7:23.4.0'
    compile 'com.github.tibolte:elasticdownload:1.0.+'
    compile 'me.dm7.barcodescanner:zxing:1.8.4'
    compile 'com.google.android.gms:play-services-vision:15.0.2'
    compile 'com.android.support.constraint:constraint-layout:1.1.1'
    compile 'com.github.amlcurran.showcaseview:library:5.4.3'
    compile 'com.wang.avi:library:2.1.3'
    testCompile 'junit:junit:4.12'
    androidTestCompile 'com.jayway.android.robotium:robotium-solo:5.6.0'
    androidTestCompile 'com.android.support.test:rules:1.0.2'
}
apply plugin: 'com.google.gms.google-services'

我得到的错误:

  

找不到与com.google.android.gms匹配的任何版本:play-services-base:[15.0.1,16.0.0)。

14 个答案:

答案 0 :(得分:16)

确保在项目级build.gradle中有google()存储库,然后才能执行任何其他存储库:

allprojects {
    repositories {
        google()
        mavenLocal()
        jcenter()
    }
}

答案 1 :(得分:7)

我在更新后遇到了同样的问题。尝试验证您是否安装了最新的Build Tool和Google Repository版本。

enter image description here

另外,请验证您正在使用的{strong>项目的build.gradle google()构建工具版本。检查build.gradle后,尝试重新同步,清理并重新构建项目。

如果需要,请尝试更新到项目依赖项的最新版本。

buildscript {

    repositories {
        jcenter()
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.3'
    }
    // ...
}

allprojects {
    repositories {
        google()
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

答案 2 :(得分:4)

在build.gradle中添加此行

apply plugin: 'com.google.gms.google-services'
// Work around for onesignal-gradle-plugin compatibility
com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true

答案 3 :(得分:2)

就我而言,我刚刚将Andorid SDK Platform-Tools更新为28.0.0,而我将其更新为28.0.1问题修复!

enter image description here

答案 4 :(得分:1)

我用这个build.gradle [Proyect]

解决了这个问题
buildscript {
    ext.kotlin_version = '1.2.30'
    repositories {
        google()
        jcenter()
        maven {
            url 'https://dl.bintray.com/android/android-tools'
        }
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.1'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath 'com.google.gms:google-services:4.2.0'
    }
}

答案 5 :(得分:1)

    implementation 'com.google.firebase:firebase-core:16.0.1'
    implementation 'com.google.firebase:firebase-database:16.0.1'
    implementation 'com.google.android.gms:play-services-auth:16.0.1'
}

apply plugin: 'com.google.gms.google-services'
com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true

答案 6 :(得分:1)

可能的原因是

  1. 未连接互联网/未从AndroidStudio首选项启用离线
  2. 依赖项的缓存版本不存在
  3. 已启用代理
  4. 暂时无法使用Google Play服务

解决方案:

关于以上答案,别忘了在项目级别mavenLocal()内添加build.gradle

allprojects {
    repositories {
                   ......
                   ......

                   mavenLocal()
    }
}

这有助于在服务暂时不可用时访问缓存的依赖项

答案 7 :(得分:0)

构建->清理项目

在我的特殊情况下就足够了(使用 gms:v15.0.1 firebase:v16.0.1 )。

答案 8 :(得分:0)

突然之间,我的项目没有任何变化,我的错误就消失了。

错误:无法解析':app @ debug / compileClasspath'的依赖关系:无法解析com.google.android.gms:play-services-location:[15.0.0,16.0.0)。

在项目级别build.gradle

buildscript {
    ext.kotlin_version = '1.3.21'
    repositories {
        google()
        jcenter()
        maven {
            url 'https://dl.bintray.com/android/android-tools'
        }
    }
dependencies {
        classpath 'com.android.tools.build:gradle:3.3.2'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath 'com.google.gms:google-services:4.2.0'
    }

allprojects {
    repositories {
        google()
        mavenCentral()
        jcenter()
        maven { url 'https://google.bintray.com/exoplayer/' }
    }
}

使用上述设置,我没有运气。

下面是对我有用的 我发现问题出在onesignal上

我在依赖项中添加了exclude子句:

implementation ('com.onesignal:OneSignal:3.10.5') {
    exclude group: 'com.google.android.gms'
}

然后手动添加缺少的依赖项。 添加排除条款后,我无法解析com.google.firebase:firebase-messaging:[10.2.1,12.1.0)。如果您发现其他缺少的依赖项,请按照下面的步骤进行操作。

在模块级别的build.gradle中,我替换了

implementation 'com.google.firebase:firebase-messaging:17.4.0' with
implementation 'com.google.firebase:firebase-messaging:10.2.1'

,最后构建成功完成。我为此花了将近5个小时。希望这可以帮助一些人。

答案 9 :(得分:0)

就我而言,一切正常,但是突然我在下一个“运行动作”中遇到了这个问题!

无论如何,通过将 project build.gradle 文件中的com.google.gms:google-services更新为其最新版本,可以解决该问题,如下所示:

buildscript {

    repositories {
        jcenter()
        mavenLocal()
        mavenCentral()
        maven {
            url 'https://maven.google.com/'
            name 'Google'
        }
        google()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.4.2'
        classpath 'com.google.gms:google-services:4.3.0'
    }
}

allprojects {
    repositories {
        jcenter()
        maven { url 'https://maven.google.com' }
        maven { url "https://jitpack.io" }
        google()
    }

}

task clean(type: Delete) {
    delete rootProject.buildDir
}

此外,请确保:
-您未处于离线模式
-如果您使用的是 Http代理,则可以连接到Google存储库。

注意(在上面的示例中):
Android Studio :3.4.2
compileSdkVersion 28
targetSdkVersion 28

答案 10 :(得分:0)

选项1:

按照以下说明进行操作。

  

项目级build.gradle

使用

maven { url "https://www.jitpack.io" }

代替

maven { url "https://jitpack.io" }

选项2:

请按照以下步骤进行解决。

第1步:

  

项目级build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.google.gms:google-services:4.2.0' // google-services plugin
        classpath 'com.android.tools.build:gradle:3.4.2'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        maven { url "http://dl.bintray.com/populov/maven" }
        maven { url "https://jitpack.io" } // For Ucrop
        maven { url "https://maven.google.com" } // Google's Maven repository - FCM
        maven {
            url 'https://dl.bintray.com/azeesoft/maven'
        }
        google()
        jcenter()
        mavenCentral()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

第二步:

  

应用程序级build.gradle

我已经更新了一个信号版本。

使用

implementation 'com.onesignal:OneSignal:3.11.1'

代替

implementation 'com.onesignal:OneSignal:3.10.9' 

答案 11 :(得分:0)

更改

implementation('com.onesignal:OneSignal:3.15.1')

使用

  implementation('com.onesignal:OneSignal:3.15.1') {
    exclude group: 'com.android.support', module: 'customtabs'
    exclude group: 'com.google.android.gms'
}

解决了我的问题。

答案 12 :(得分:0)

这对我有用。在项目级Gradle文件中,使用以下顺序:

repositories {
    google()
    maven {
        url 'https://maven.google.com/'
        name 'Google'
    }
    jcenter()
}

allprojects {
repositories {
    google()
    mavenCentral()
    maven {
        url "https://jitpack.io"
    }
    jcenter()
}

}

答案 13 :(得分:-1)

build.gradle(app)

apply plugin: 'com.google.gms.google-services'
com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true