Failed to resolve: play-services-flags

2019-01-23 12:24发布

问题:

Today, Android Studio stopped to sync properly due to configuration issues.

Could not resolve all files for configuration ‘:app:providerRepositoryDebugCompileClasspath’. Could not find firebase-analytics-impl.aar (com.google.firebase:firebase-analytics-impl:15.0.2). Searched in the following locations: https://jcenter.bintray.com/com/google/firebase/firebase-analytics-impl/15.0.2/firebase-analytics-impl-15.0.2.aar Could not find play-services-flags.aar (com.google.android.gms:play-services-flags:15.0.1). Searched in the following locations: https://jcenter.bintray.com/com/google/android/gms/play-services-flags/15.0.1/play-services-flags-15.0.1.aar

These two files exist, and I can download them through web browser.

I have fixed first issue by updating firebase core to 16.0.0. (Failed to resolve: firebase-analytics-impl), but I cannot fix the 2nd one.

What's wrong with Android Studio? Yesterday it worked well.

Please don't suggest to add flags library from gms. I tried that already.

回答1:

Fixed by changing order of repos in PROJECT build.grade:

Instead of

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

put

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

I think someone suggested this but I don't see his answer anymore.

Very strange issue.



回答2:

They were changing and deleting old libraries, I guess.

I finally managed to get it working, by changing the order of repositories in project build.gradle:

    allprojects {
        repositories {
            google()
            maven {
                url "https://maven.google.com" // Google's Maven repository
            }
            jcenter()
        }
    }

jcenter should be the last.



回答3:

Try below code

in project build.gradle

in dependencies tag

classpath 'com.google.gms:google-services:4.0.1'

and import repositories like below

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

in app build.gradle

repositories {
    google()
    jcenter()
}

Now the confusing part is why use google() not

maven { url "https://maven.google.com"  }

because google() is its replacement in android studio 3+

Also make sure to use correct version of firebase sdk from Firebase SDK documentation