问题
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?
回答1:
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!
回答2:
For me, the solution is move the google() item up to make sure it's before the jcenter(). And actually, I will put the google() in the first place of all the repositories.
回答3:
Need to add the following as well:
compile 'com.android.support:multidex:1.0.3'
After adding the above line, it worked for me in addition to the above answer
回答4:
First you need to clean the project , and then rebuild it.
Build ----> Clean Project
Build ----> Rebuild Project
回答5:
allprojects {
repositories {
google()
}
}
worked for me instead of
allprojects {
repositories {
maven {
url 'https://maven.google.com'
}
}
}
回答6:
if you are in China, Please use
allprojects {
respositories {
google()
}
}
to instead
allprojects {
respositories {
maven {
url 'https://maven.google.com'
}
}
}
don't ask me why, I don't want to tell you.... may be 'https://maven.google.com' was selected by GFW?
回答7:
Adding google() in my allprojects solved my issue...
allprojects {
repositories {
jcenter()
google()
}
}
回答8:
If none of the above solutions are working then add mavenLocal()
:
allprojects {
repositories {
jcenter()
maven {
url 'https://maven.google.com'
}
mavenLocal()
google()
}
}
回答9:
Move the google() item up to make sure it's before the jcenter().
repositories {
jcenter()
google()
}
回答10:
Update all the gradle dependencies to latest version .. That’s it
回答11:
my problem was network connection. I needed to connect to a vpn server to connect to jcenter
来源:https://stackoverflow.com/questions/45608362/android-studio-3-0-beta-1-failed-to-resolve-com-android-supportmultidex1-0-2