web-dev-qa-db-fra.com

"Echec de la résolution: support-v4" après la mise à niveau du studio Android

J'étais au milieu d'un projet lorsque j'ai décidé de mettre à niveau Android Studio de la version 3.0.1 à la version 3.1.2. Depuis lors, j'ai cette erreur lors de la création de mon application. Je sais que des questions similaires à celle-ci ont déjà été posées, mais la différence est qu’elle ne fournit pas la version de la bibliothèque avec laquelle elle a un problème. C'est donc évidemment un problème différent . Voici la capture d'écran

 Screenshot

niveau de l'application 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'
}

Et au niveau du projet 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" }
    }
}
7
Peyman

Après des jours de lutte avec ce problème, j'ai finalement trouvé un moyen… .. La solution consiste à supprimer le dossier caches à l'intérieur de ~/.gradle et à télécharger à nouveau les dépendances.

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

Je l'ai finalement résolu en utilisant maven { url 'https://maven.google.com' } au-dessus de jcenter().

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

9
alphacat2018

Gradle build log a expliqué le problème:

> 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

Même si je n'avais pas explicitement support-v4 nulle part, cette bibliothèque implementation 'com.Android.support:percent:26.1.0' en était la véritable raison.

La mise à niveau vers compileSdkVersion 27 a résolu le problème.

1
soshial