Home » Android » java – "Failed to resolve: support-v4" after upgrading android studio

java – "Failed to resolve: support-v4" after upgrading android studio

Posted by: admin June 15, 2020 Leave a comment

Questions:

I was in the middle of a project when i decided to upgrade android studio from 3.0.1 to 3.1.2 and ever since i did, i get this error when building my app. I know questions similar to this one has been asked before but the difference is, it doesn’t provide the version of the library it has problem with. So it’s obviously a different problem.
Here is screenshot

Screenshot

app level build.gradle:

android {
    compileSdkVersion 27
    defaultConfig {
        applicationId "..."
        minSdkVersion 18
        targetSdkVersion 27
        versionCode 16
        versionName "1.1.1"
        multiDexEnabled true
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        vectorDrawables.useSupportLibrary = true
        }
    }    

ext {
    lifecycleLibVersion = '1.1.1'
    supportLibVersion = '27.1.1'
    daggerLibVersion = '2.15'
    gmsLibVersion = '11.8.0'
    persistenceLibVersion = '1.0.0'
}
dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation "android.arch.lifecycle:extensions:$lifecycleLibVersion"
    implementation "android.arch.persistence.room:runtime:$persistenceLibVersion"
    implementation "com.android.support:appcompat-v7:$supportLibVersion"
    implementation "com.android.support:cardview-v7:$supportLibVersion"
    implementation "com.android.support:design:$supportLibVersion"
    implementation "com.android.support:recyclerview-v7:$supportLibVersion"
    implementation "com.android.support:support-vector-drawable:$supportLibVersion"
    implementation 'com.android.support:multidex:1.0.3'
    implementation "com.google.android.gms:play-services-location:$gmsLibVersion"
    implementation "com.google.android.gms:play-services-maps:$gmsLibVersion"
    implementation "com.google.dagger:dagger-android-support:$daggerLibVersion"
    implementation "com.google.firebase:firebase-core:$gmsLibVersion"
    implementation 'com.github.bumptech.glide:glide:4.3.1'
    implementation 'com.github.lawloretienne:discreteslider:0.0.9'
    implementation 'com.jakewharton:butterknife:8.8.1'
    implementation 'com.journeyapps:zxing-android-embedded:3.5.0'
    implementation 'com.squareup.okhttp3:logging-interceptor:3.10.0'
    implementation 'com.squareup.retrofit2:retrofit:2.4.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.4.0'
    implementation 'com.github.PhilJay:MPAndroidChart:v3.0.3'
    implementation "com.commonsware.cwac:saferoom:0.3.4"

    annotationProcessor "android.arch.persistence.room:compiler:$persistenceLibVersion"
    annotationProcessor 'com.github.bumptech.glide:compiler:4.3.1'
    annotationProcessor "com.google.dagger:dagger-compiler:$daggerLibVersion"
    annotationProcessor "com.google.dagger:dagger-android-processor:$daggerLibVersion"
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
}

And project level build.gradle:

buildscript {
    repositories {
        google()
        jcenter()
        maven { url 'https://maven.fabric.io/public' }
        maven { url 'https://plugins.gradle.org/m2/' }
    }
dependencies {
        classpath 'com.android.tools.build:gradle:3.1.2'
        classpath 'com.google.gms:google-services:3.2.0'
        classpath 'io.fabric.tools:gradle:1.25.1'
        classpath 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:0.8.2'
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        maven { url 'https://maven.google.com' }
        maven { url "https://jitpack.io" }
        maven { url "https://s3.amazonaws.com/repo.commonsware.com" }
    }
}
How to&Answers:

After days of struggling with this problem, I finally found a way.
The solution is to delete the caches folder inside ~/.gradle and download dependencies again.

Answer:

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

I finally resolved it by using maven { url 'https://maven.google.com' } above the jcenter().

https://github.com/rebeccahughes/react-native-device-info/issues/414

Answer:

Gradle build log explained the problem:

> Could not find support-v4.aar (com.android.support:support-v4:26.1.0).
  Searched in the following locations:
      https://jcenter.bintray.com/com/android/support/support-v4/26.1.0/support-v4-26.1.0.aar

Even though I didn’t have support-v4 anywhere explicitly, this library implementation 'com.android.support:percent:26.1.0' was the real reason.

Upgrading to compileSdkVersion 27 solved the problem.