Android Studio 3.0 Beta 1: Failed to resolve: com.android.support:multidex:1.0.2

Elye picture Elye · Aug 10, 2017 · Viewed 44.7k times · Source

After migrating from Android Studio 3.0 (Canary 5) to Android Studio 3.0 (Beta 1), and moving to latest gradle , i.e. 'com.android.tools.build:gradle:3.0.0-beta1'

When I try to gradle sync, it error stating below.

Failed to resolve: com.android.support:multidex:1.0.2 
Failed to resolve: com.android.support:multidex-instrumentation:1.0.2 

I check on Android Studio 3.0 Canary 9 - Failed to resolve packages, it doesn't solve my problem, as I already have this

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

I'm surprise it is even asking for multidex 1.0.2, as I only have in my build.gradle

compile 'com.android.support:multidex:1.0.1'

I check using ./gradlew app:dependencies | grep multidex, it shows the failures as below (across various flavors etc)

+--- com.android.support:multidex-instrumentation:1.0.2 FAILED
+--- com.android.support:multidex:1.0.1
+--- com.android.support:multidex:1.0.2 FAILED
+--- com.android.support:multidex:1.0.1 -> 1.0.2 FAILED

Where did the dependencies of multidex:1.0.2 and multidex-instrumentation:1.0.2 comes from? How could I solve this problem?

Answer

Elye picture Elye · Aug 10, 2017

Apparently my issue is I should post this:

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

in allprojects and not in buildscript (the subtle different has blinded me where the issue is), which then looks like this:

allprojects {
    repositories {
        maven {
            url 'https://maven.google.com'
        }
    }
}

Thanks to M D for the pointers!