Проблема Настройка кинжала 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.+'
}
Спасибо!