Gradle не загружает определенную зависимость

Я собрал новый компьютер и пытаюсь собрать на нем конкретный проект, но, несмотря на успешную синхронизацию, он не собирает и не открывает приложение. Он пытается загрузить определенные зависимости, но выдает ошибку. Я отформатировал другой компьютер и попытался установить его, но выдала ту же ошибку. На моем рабочем ноутбуке проект работает нормально, как и на машинах моих коллег, что показывает, что это не проблема с кодом, Maven или какой-либо другой зависимостью.

Я уже пробовал удалить gradle и загрузить его снова, а также gradlew clean build --refresh-dependents. Я уже пытался клонировать проект еще раз.

Есть предложения?

 ./gradlew clean build --refresh-dependencies --stacktrace

> Configure project :app

FAILURE: Build failed with an exception.

* What went wrong:
Could not determine the dependencies of task ':app:compileVitoriaReleaseKotlin'.
> Could not resolve all files for configuration ':app:homologDebugRuntimeClasspath'.
   > Could not find com.google.android:flexbox:2.0.0.
     Searched in the following locations:
       - https://dl.google.com/dl/android/maven2/com/google/android/flexbox/2.0.0/flexbox-2.0.0.pom
       - 
     Required by:
         project :app > project :
         project :app > project :

   > Could not find com.pierfrancescosoffritti.androidyoutubeplayer:core:10.0.5.
     Searched in the following locations:
       -
       - 
     Required by:
         project :app > project :
   > Could not find org.jetbrains.anko:anko-commons:0.10.8.
     Searched in the following locations:
       -
 
     Required by:
         project :app > project :
   > Could not find org.jetbrains.anko:anko-design:0.10.8.
     Searched in the following locations:
       -
    
     Required by:
         project :app > project :
   > Could not find org.jetbrains.anko:anko:0.10.8.
     Searched in the following locations:
       - https://dl.google.com/dl/android/maven2/org/jetbrains/anko/anko/0.10.8/anko-0.10.8.pom
     Required by:
         project :app > project :
   > Could not find org.jetbrains.anko:anko-appcompat-v7:0.10.8.
     Searched in the following locations:
       - https://dl.google.com/dl/android/maven2/org/jetbrains/anko/anko-appcompat-v7/0.10.8/anko-appcompat-v7-0.10.8.pom
       
     Required by:
         project :app > project :
   > Could not find org.jetbrains.anko:anko-coroutines:0.10.8.
     Searched in the following locations:
       - https://dl.google.com/dl/android/maven2/org/jetbrains/anko/anko-coroutines/0.10.8/anko-coroutines-0.10.8.pom
       
     Required by:
         project :app > project :
   > Could not find org.jetbrains.anko:anko-appcompat-v7-coroutines:0.10.8.
     Searched in the following locations:
       
    
     Required by:
         project :app > project :
   > Could not find com.jackandphantom.android:blurimage:1.2.0.
     Searched in the following locations:
     
     Required by:
         project :app > project :

Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

BUILD FAILED in 2m 8s

1
55
1

Ответ:

Решено

На моем рабочем ноутбуке проект работает нормально, как и на машинах моих коллег, что показывает, что это не проблема с кодом, Maven или какой-либо другой зависимостью.

Нет, это показывает, что рассматриваемые зависимости кэшируются Gradle на этих машинах.

Вы и ваши коллеги устарели на несколько лет в отношении зависимостей, а ваша конфигурация Gradle не поддерживает устаревшие зависимости, которые вы пытаетесь использовать. Как минимум вам нужно будет найти репозитории Gradle, в которых хранятся эти устаревшие зависимости, и добавить их в свою конфигурацию Gradle. Лучше было бы заменить зависимости на те, которые поддерживаются в настоящее время.

Давайте рассмотрим первый: com.google.android:flexbox:2.0.0. Если вы изучите https://maven.google.com , вы обнаружите, что такой зависимости нет. Если вы выполните поиск в индексе репозитория Maven по запросу com.google.android:flexbox, вы узнаете несколько вещей:

  1. com.google.android:flexbox:2.0.0 вышел в 2019 году, пять лет назад. Пожалуйста, стремитесь использовать новые артефакты.

  2. com.google.android:flexbox:2.0.0 был опубликован на недолговечном экземпляре Google на Bintray, который уже давно заброшен.

  3. Координаты Maven перемещены, и текущая версия Flexbox находится по адресу com.google.android.flexbox:flexbox:3.0.0 и размещена в репозитории Google Maven (google() в конфигурации репозитория Gradle).

Итак, вам следует сосредоточиться либо на переходе на com.google.android.flexbox:flexbox:3.0.0, либо на устранении Flexbox.

Вам нужно будет сделать аналогичные анализы для остальных:

  • Найдите их в индексе репозитория Maven

  • Используйте эту информацию, чтобы определить, что нужно изменить (добавление отсутствующего репозитория, обновление до более новой версии артефакта, замена зависимости чем-то другим и т. д.).


Интересные вопросы для изучения

Установите разные константы для производства и разработкиСериализатор для класса xxx не найден. Убедитесь, что класс помечен как «@Serializable» и что установлен плагин компилятора сериализацииAndroid: разрешения во время выполнения не работают — в настройках приложения не отображаются запрошенные разрешения, даже когда их запрашивают (WRITE_EXTERNAL_STORAGE)Как повторно включить клавиатуру для элементов управления вводом после их отключения?Автозаполнение компонуемоеПонимание идеи и вариантов использования suspendCoroutineСериализатор для класса xxx не найден. Убедитесь, что класс помечен как «@Serializable» и что установлен плагин компилятора сериализацииAndroid: разрешения во время выполнения не работают — в настройках приложения не отображаются запрошенные разрешения, даже когда их запрашивают (WRITE_EXTERNAL_STORAGE)Расшифровка зашифрованных данных Dart AES в Kotlin приводит к исключению BadPaddingExceptionКак получить доступ к частному свойству верхнего уровня Kotlin в безымянном (основном) файле?