无法解决 com.google.android.gms:play-services-measurement-base:[18.0.0]。

6

我对Flutter相对陌生,该项目两天前还能正常运行。今天尝试运行时,遇到了这个错误。以下是错误信息:

FAILURE: Build failed with an exception.

* What went wrong:
Could not determine the dependencies of task ':app:processDebugResources'.
> Could not resolve all task dependencies for configuration ':app:debugRuntimeClasspath'.
   > Could not resolve com.google.android.gms:play-services-measurement-base:[18.0.0].
     Required by:
         project :app > com.google.firebase:firebase-analytics:18.0.0 > com.google.android.gms:play-services-measurement:18.0.0
         project :app > com.google.firebase:firebase-analytics:18.0.0 > com.google.android.gms:play-services-measurement-api:18.0.0
         project :app > com.google.firebase:firebase-analytics:18.0.0 > com.google.android.gms:play-services-measurement-sdk:18.0.0
         project :app > com.google.firebase:firebase-analytics:18.0.0 > com.google.android.gms:play-services-measurement:18.0.0 > com.google.android.gms:play-services-measurement-impl:18.0.0
         project :app > com.google.firebase:firebase-analytics:18.0.0 > com.google.android.gms:play-services-measurement-api:18.0.0 > com.google.android.gms:play-services-measurement-sdk-api:18.0.0
      > Failed to list versions for com.google.android.gms:play-services-measurement-base.
         > Unable to load Maven meta-data from https://google.bintray.com/exoplayer/com/google/android/gms/play-services-measurement-base/maven-metadata.xml.
            > Could not get resource 'https://google.bintray.com/exoplayer/com/google/android/gms/play-services-measurement-base/maven-metadata.xml'.
               > Could not GET 'https://google.bintray.com/exoplayer/com/google/android/gms/play-services-measurement-base/maven-metadata.xml'. Received status code 502 from server: Bad Gateway

这是我应用程序的 "app\build.gradle" 的代码。
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
    localPropertiesFile.withReader('UTF-8') { reader ->
        localProperties.load(reader)
    }
}

def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
    throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}

def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
    flutterVersionCode = '1'
}

def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
    flutterVersionName = '1.0'
}

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'com.google.gms.google-services'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

android {
    compileSdkVersion 29

    sourceSets {
        main.java.srcDirs += 'src/main/kotlin'
    }

    lintOptions {
        disable 'InvalidPackage'
    }

    defaultConfig {
        applicationId "com.project.project"
        minSdkVersion 21
        targetSdkVersion 29
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
        multiDexEnabled true
    }

    buildTypes {
        release {
            signingConfig signingConfigs.debug
        }
    }
}

flutter {
    source '../..'
}

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation platform('com.google.firebase:firebase-bom:26.1.1')
    implementation 'com.google.firebase:firebase-analytics'
    implementation 'com.android.support:multidex:1.0.3'
}

我尝试更新firebase-bom和google-services,但仍然遇到同样的问题。 非常感谢您的任何帮助!


你在 android/build.gradle 中加入了 classpath 'com.google.gms:google-services:4.3.8' 吗? - Ananda Pramono
我试过了。我使用的是 classpath 'com.google.gms:google-services:4.3.4',但即使更新后也没有起作用。 - DoggyStick
面临完全相同的问题。 - Dhanraj Verma
有什么解决办法吗? - Dhanraj Verma
长期面对同样的问题 - João Mantovani
1
@DhanrajVerma 你可以尝试MrZero的答案,这对我很有效。如果对你仍然无效,那么一个临时的解决方法是在构建应用程序时关闭WiFi。之后可以再打开它。 - DoggyStick
2个回答

9

在gradle-wrapper.properties文件中,将distributionUrl改为

distributionUrl=https://services.gradle.org/distributions/gradle-6.5.1-all.zip


对于未来的读者,请查看此处以获取更多关于此内容的信息以及如何获取当前版本。 - Tom Doodler
我也遇到了同样的问题。我正在使用以下依赖项 { classpath 'com.android.tools.build:gradle:3.5.0' classpath 'com.google.gms:google-services:4.3.5' } - Janaka
我有类似的问题。我正在使用以下依赖项 { classpath 'com.android.tools.build:gradle:3.5.0' classpath 'com.google.gms:google-services:4.3.5' } 我应该使用什么 distributionUrl? - Janaka

3

请删除此行,这是Firebase插件添加的。

implementation platform('com.google.firebase:firebase-bom:26.1.1')

implementation 'com.google.firebase:firebase-analytics'

将gradle版本设置为4.1.0

并将发行版url设置为distributionUrl=https://services.gradle.org/distributions/gradle-6.5-all.zip


谢谢,它像魔法一样工作。你让我的一天!! - Loc Le Xuan
对我来说有效,但需要额外的步骤将 compileSdkVersion 28 更改为 compileSdkVersion 31 - DaReal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接