Проблема Настройка кинжала 2.x для Android на AndroidStudio3.0 Canary4

Я получаю следующие ошибки при настройке кинжала 2.x в Android Studio 3.0 Canary 4

Ошибка: (71, 20) Не удалось решить: com.google.dagger: dagger: 2.x

Ошибка: (73, 20) Не удалось решить: com.google.dagger: кинжал-андроид: 2.x

Ошибка: (74, 20) Не удалось разрешить: com.google.dagger: поддержка кинжала-андроида: 2.x

Мои файлы сборки выглядят следующим образом:

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'
}

Файл сборки проекта находится ниже фрагментов

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

Ваша помощь приветствуется...

Ответ 1

Если вы похожи на меня, чтобы попасть в эту проблему, это то, что я сделал, чтобы выйти из этой ситуации.

Я отправился в https://github.com/google/dagger/releases, чтобы выяснить последнюю версию кинжала, и нашел v2.11 последним, как на дату, Я заменил 2.x на 2.11 в части версии для этой конфигурации библиотек в файле сборки и бинго, что сборка выполнена успешно.

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'
}

Ответ 2

Редактировать: Я полностью согласен с комментариями, в которых упоминается использование конкретной версии этой библиотеки вместо +, поэтому, например, 2.11 следует использовать вместо 2. + 2. + был предназначен для решения проблемы с 2.x, так как большинство начинающих берут 2.x буквально, как и я, когда я впервые использовал его. Здесь x означает последнюю минорную версию стабильной версии. Ознакомьтесь с последними примечаниями к выпуску и замените x последней минорной версией библиотеки.

Оригинальный ответ: Я уверен, что к настоящему моменту вы уже решили свою проблему, хотя, попробовав несколько других, и эту тоже, я нашел надежное решение и опубликовал его для помощи другим. Вместо 2.x используйте 2. +.

Это решило все проблемы для меня, не только это решило вышеупомянутую проблему, но также и вытащило последнюю версию кинжала 2.x.

Это должно выглядеть так:

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.+'
}

Спасибо!