web-dev-qa-db-fra.com

Problème lors de la configuration de Dagger 2.x pour Android sur AndroidStudio3.0 Canary4

Je reçois les erreurs suivantes lors de la configuration de la dague 2.x dans Android Studio 3.0 Canary 4

Erreur: (71, 20) Échec de la résolution: com.google.dagger: dagger: 2.x

Erreur: (73, 20) Échec de la résolution: com.google.dagger: dagger-Android: 2.x

Erreur: (74, 20) Échec de la résolution: com.google.dagger: dagger-Android-support: 2.x

Mes fichiers de construction sont comme ci-dessous:

dependencies {
    //For DI - Dagger 2
    implementation 'com.google.dagger:dagger:2.x'
    annotationProcessor 'com.google.dagger:dagger-compiler:2.x'
    implementation 'com.google.dagger:dagger-Android:2.x' // If you're using classes in dagger.Android
    implementation 'com.google.dagger:dagger-Android-support:2.x' // if you use the support libraries
    annotationProcessor 'com.google.dagger:dagger-Android-processor:2.x'
}

Le fichier de construction du projet contient des extraits ci-dessous

allprojects {
    repositories {
        jcenter()
        maven { url "https://maven.google.com" }
        maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
    }
}

Votre aide est appréciée ...

19
karthiks

Si vous êtes comme moi dans ce problème, c'est ce que j'ai fait pour sortir de cette situation.

Je suis allé sur https://github.com/google/dagger/releases pour comprendre la dernière version de dagger et j'ai trouvé que la version v2.11 était la dernière en date. J'ai remplacé 2.x par 2.11 dans la partie version pour cette configuration de bibliothèques dans le fichier de construction et bingo la construction est réussie.

dependencies {
    //For DI - Dagger 2
    implementation 'com.google.dagger:dagger:2.11'
    annotationProcessor 'com.google.dagger:dagger-compiler:2.11'
    implementation 'com.google.dagger:dagger-Android:2.11' // If you're using classes in dagger.Android
    implementation 'com.google.dagger:dagger-Android-support:2.11' // if you use the support libraries
    annotationProcessor 'com.google.dagger:dagger-Android-processor:2.11'
}
39
karthiks

Je suis sûr que vous avez maintenant résolu votre problème, mais après avoir essayé quelques autres et celui-ci aussi, j'ai trouvé une solution fiable et je l'ai publiée pour aider les autres. Au lieu de 2.x, utilisez 2. +.

Il a résolu tous les problèmes pour moi, non seulement il a résolu le problème ci-dessus, mais il s'assure également de tirer la dernière version de dagger 2.x disponible.

Ça devrait ressembler à ça:

dependencies {
    implementation 'com.google.dagger:dagger:2.+'
    annotationProcessor 'com.google.dagger:dagger-compiler:2.+'
    implementation 'com.google.dagger:dagger-Android:2.+' // If you're using classes in dagger.Android
    implementation 'com.google.dagger:dagger-Android-support:2.+' // if you use the support libraries
    annotationProcessor 'com.google.dagger:dagger-Android-processor:2.+'
}

Merci!

12
Piyush Saxena