Итак, я пытаюсь синхронизировать проект студии Android, но flexbox не удается решить. Насколько мне известно, включены все соответствующие репозитории. Я пробовал несколько подключений к Интернету (без прокси), но безрезультатно.
Я также пробовал разные версии flexbox.
Вот мое приложение build.gradle:
buildscript {
repositories {
jcenter()
maven { url 'https://maven.google.com' }
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath 'io.fabric.tools:gradle:1.+'
}
}
allprojects {
repositories {
flatDir {
dirs 'libs'
}
maven { url "https://jitpack.io" }
}
}
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'org.jetbrains.kotlin.android.extensions'
androidExtensions {
experimental = true
}
apply plugin: 'io.fabric'
apply plugin: 'jacoco'
repositories {
google()
jcenter()
maven { url 'https://maven.fabric.io/public' }
maven { url 'https://maven.google.com' }
mavenCentral()
}
Все остальные зависимости Google загружаются и устанавливаются, и кажется, что flexbox загружается во время синхронизации gradle, но впоследствии всегда терпит неудачу. Я действительно не знаю, что могло быть причиной этого. Я полностью удалил Android Studio (включая файлы Gradle, файлы sdk, настройки и т. д.) И переустановил с нуля, но эта ошибка продолжает возникать. Я действительно в растерянности.
Зависимость указана как:
implementation 'com.google.android:flexbox:1.1.0'
Обновлено: Итак, пытаясь снова выполнить синхронизацию, мне удалось сделать снимок строки состояния в нижней части Android Studio, чтобы увидеть, что происходит, когда я увидел, что вспыхивает «flexbox»:
Когда я пытаюсь перейти по этому URL-адресу в браузере, я получаю сообщение 404
Это вообще правильное репо?
Устарело
Добавьте это в свой файл Gradle
maven {
url "https://google.bintray.com/flexbox-layout" }
Обновить
Спасибо @Volker Voecking ответ
dependencies {
implementation 'com.google.android.flexbox:flexbox:3.0.0'
}
Этот ответ больше не действителен после обновления до Gradle 7 (или выше). Вместо этого посмотрите ответ @Volker Voecking
Вы также можете проверить эту ветку https://github.com/google/flexbox-layout/issues/475 На мой взгляд, кажется, что он шире, чем flexbox .. У меня много зависимостей, отсутствующих в google (), jCenter () и mavenCentral () ...
Это так раздражает, когда подобные вещи случаются случайно, когда вы только что исправили несвязанную ошибку.
Для тех из вас, кто пришел к этому вопросу после удаления jcenter () из своих файлов gradle:
Согласно этому комментарию (https://github.com/google/flexbox-layout/issues/566#issuecomment-844630491) библиотека flexbox теперь доступна из репозитория google maven.
Однако для этого необходимо изменить ссылку на:
dependencies {
implementation 'com.google.android.flexbox:flexbox:3.0.0'
}
Спасибо, Волкер! Похоже, что принятый ответ сейчас устарел, и его следует переместить в начало.
Это решает проблему, если вы используете flexbox непосредственно в своем проекте, однако у меня есть библиотека, которая зависит от flexbox 2.0.1, и у меня нет исходного кода для этой библиотеки для ее обновления.
Эта проблема связана с тем, что размещен здесь: stackoverflow.com/questions/53706565/…