web-dev-qa-db-fra.com

Erreur de la bibliothèque de support Android après la mise à jour vers 23.3.0

J'utilisais le support Android v4 23.1.1 et j'ai récemment essayé de le mettre à jour en 23.3.0 (le dernier en date demandé), mais j'ai l'erreur suivante:

Erreur: conflit avec la dépendance 'com.Android.support:support-annotations'.
Les versions résolues pour app (23.3.0) et test (23.1.1) sont différentes.
Voir http://g.co/androidstudio/app-test-app-conflict pour plus de détails.

Jusqu'à présent, j'ai trouvé ceci https://code.google.com/p/Android/issues/detail?id=206137

Je suis allé à la fois les liens mais je ne pouvais pas résoudre mon problème, comment puis-je résoudre ce problème?

Modifier:

Je les ai dans mes dépendances

compile 'com.Android.support:support-v4:23.3.0'
compile 'com.Android.support:appcompat-v7:23.3.0'
compile 'com.Android.support:recyclerview-v7:23.3.0'
compile 'com.Android.support:cardview-v7:23.3.0'
compile 'com.Android.support:design:23.3.0'

Auparavant, toutes les versions étaient 23.1.1 et l’erreur s’est produite après la mise à jour.

Modifier:

Gradle Version 2.10
Gradle Plugin Version 2.0.0
buildToolsVersion "23.0.3"
47

Pour ceux qui sont toujours confrontés à ce problème, ajoutez simplement cette ligne à vos dépendances.

androidTestCompile 'com.Android.support:support-annotations:23.3.0'

Cela a résolu mon problème.

METTRE À JOUR:

Si vous rencontrez cette erreur de nos jours, vous pouvez simplement insérer le nouveau code de version (23.3.0 dans ce cas, ou 27.1.1 dans May '18), comme décrit dans l’erreur dans la solution décrite ci-dessus. 

101

Pour ceux qui sont toujours confrontés au problème, la réponse ci-dessus ne m'a pas aidé dans Android studio 2.2 Preview.

ajoutez ceci à votre fichier de classement.

configurations.all {
  resolutionStrategy {
    force 'com.Android.support:support-annotations:23.1.1'
 }
}

Cela a résolu mon problème.

Référence: https://github.com/JakeWharton/u2020/blob/05a57bf43b9b61f16d32cbe8717af77cd608b0fb/build.gradle#L136-L140

50
Ganesh Bhat

Juste pour illustrer la réponse d'Akshayraj 

Fichier Gradle original:

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    [...]

    compile 'com.Android.support:support-annotations:25.3.0'
    androidTestCompile 'com.Android.support.test:runner:0.5'
    androidTestCompile 'com.Android.support.test.espresso:espresso-core:2.2.2'

}

Erreur reçue: 

Erreur: conflit avec la dépendance 'com.Android.support:support-annotations' dans le projet ': app'.
Les versions résolues de l'application (25.1.0) et de l'application de test (23.1.1) diffèrent.
Voir http://g.co/androidstudio/app-test-app-conflict pour plus de détails. "

FIXE quand j'ai ajouté:

androidTestCompile 'com.Android.support:support-annotations:25.3.0'

Fichier final:

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    [...]

    compile 'com.Android.support:support-annotations:25.3.0'

    androidTestCompile 'com.Android.support:support-annotations:25.3.0'
    androidTestCompile 'com.Android.support.test:runner:0.5'
    androidTestCompile 'com.Android.support.test.espresso:espresso-core:2.2.2'
}
20
Marcola

Mon app.gradle d'origine avait: 

dependencies {
    // App dependencies
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.Android.support:appcompat-v7:23.4.0' 

    // Testing-only dependencies
    androidTestCompile 'com.Android.support.test:runner:0.3'
    androidTestCompile 'com.Android.support.test:rules:0.3'
    androidTestCompile 'com.Android.support.test.espresso:espresso-core:2.2'
}

ce qui a entraîné l'erreur suivante:
Erreur: conflit avec la dépendance 'com.Android.support:support-annotations'. Les versions résolues pour app (23.4.0) et test app (22.2.0) diffèrent. Voir http://g.co/androidstudio/app-test-app-conflict pour plus de détails.

Après avoir lu le lien suggéré par erreur, j'ai trouvé ces lignes: 

Lorsque des tests d'instrumentation sont exécutés, l'APK principal et l'APK de test partager le même chemin de classe. La construction de Gradle échouera si l'APK principal et le test APK utilise la même bibliothèque (par exemple, Guava) mais dans des fichiers différents versions. Si Gradle ne l'a pas compris, votre application pourrait se comporter différemment pendant les tests et pendant la marche normale (y compris le crash dans l'un des cas).

J'ai donc modifié mes dépendances app.gradle pour:

dependencies {
    // App dependencies
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.Android.support:appcompat-v7:23.4.0'

    // Testing-only dependencies
    androidTestCompile 'com.Android.support:support-annotations:23.3.0'
    androidTestCompile 'com.Android.support.test:runner:0.3'
    androidTestCompile 'com.Android.support.test:rules:0.3'
    androidTestCompile 'com.Android.support.test.espresso:espresso-core:2.2'
}

Même après le changement ci-dessus, Gradle n'était pas content :-(:
Erreur: conflit avec la dépendance 'com.Android.support:support-annotations'. Les versions résolues pour app (23.4.0) et test app (23.3.0) diffèrent. Voir http : //g.co/androidstudio/app-test-app-conflict pour plus de détails. 

Le changement dans la version test apk était différent! J'ai donc modifié la chaîne de version comme collée ci-dessous, ce qui a fonctionné pour moi:

(Nirvana)

dependencies {
    // App dependencies
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.Android.support:appcompat-v7:23.4.0' // main APK

    // Testing-only dependencies
    androidTestCompile 'com.Android.support:support-annotations:23.4.0' //test APK
    androidTestCompile 'com.Android.support.test:runner:0.3'
    androidTestCompile 'com.Android.support.test:rules:0.3'
    androidTestCompile 'com.Android.support.test.espresso:espresso-core:2.2'
}
10
MANN

Cela m'a pris du temps pour sortir de cette erreur. Mais voici ce qui a fonctionné pour moi, essayez-le:

NOTE: Am utilisant compileSdkVersion 26

J'ai supprimé les deux androidTestImplementation 'com.Android.support.test: runner: 1.0.2' & AndroidTestImplementation 'com.Android.support.test.espresso: espresso-core: 3.0.2' dans le bloc des dépendances de la construction. gradle (module: app). Alors j'ai fini avec ça:

apply plugin: 'com.Android.application'

Android {
    compileSdkVersion 26
    buildToolsVersion '26.0.2'
    defaultConfig {
        applicationId "com.date.brian.cradletest"
        minSdkVersion 15
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
}
   buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {

    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.Android.support:appcompat-v7:26.1.0'
    implementation 'com.Android.support.constraint:constraint-layout:1.1.0'
    compile 'com.Android.support:design:26.1.0'
    compile 'com.Android.support:cardview-v7:26.1.0'
    compile 'com.Android.support:recyclerview-v7:26.1.0'
    compile 'com.getbase:floatingactionbutton:1.9.0'
    compile 'de.hdodenhof:circleimageview:2.1.0'
    testImplementation 'junit:junit:4.12'
}

J'espère que cela vous sera utile!

5
Brian

Vous devez utiliser la même version pour les APK de l'application et androidTest. Pour ce faire, spécifiez la même version que votre application,

androidTestCompile 'com.Android.support:support-annotations:24.1.1'

où 24.1.1 est le numéro de version de la dépendance utilisée dans votre application

3
Akshayraj Kore
compile 'com.Android.support:design:24.1.1'
2
Mohammed Salim

Excluez simplement les "annotations". Aucun mal ne sera fait

androidTestCompile('com.Android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.Android.support', module: 'support-annotations'
})
1
Francisco Galan

Pour moi, La version de l'outil de construction doit être alignée sur les versions de dépendance . Supposons donc que la version de l'outil de génération soit 26.1.0; la version de dépendance de Gradle doit y obéir. 

Le moyen le plus simple est de créer une variable de version et de l’utiliser. Voir l'exemple ci-dessous

ext {
    buildVersion = '26.1.0'
}

dependencies {
    compile "com.Android.support:appcompat-v7:${buildVersion}"
}
1
Rohit Mandiwal

Cela a été résolu après l'ajout de la dernière ligne:

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.Android.support:appcompat-v7:26.1.0'
implementation 'com.Android.support.constraint:constraint-layout:1.1.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.Android.support.test:runner:1.0.2'
androidTestImplementation 'com.Android.support.test.espresso:espresso-core:3.0.2'
compile 'com.Android.support:support-annotations:27.1.1'}
0
Dexter
  1. Ouvrir Android Studio

  2. Accédez à Projet> Scripts Gradle> build.gradle (Module: app).

  3. Ajouter dependencies {androidTestCompile 'com.Android.support:support-annotations:xx.x.x'}

  4. Vous pouvez remplacer xx.x.x par la version qui affiche une erreur

  5. Enregistrer le script Gradle

  6. Projet de construction 

J'espère que cela fonctionnera! :)

0
Anand Sanmani

supprimer la dépendance de test du fichier build.gradle pour résoudre les problèmes

0
rakesh rajput