无法解决:com.google.android:flexbox:1.1.0

Chr*_*ris 2 android gradle android-studio

所以我正在尝试同步一个Android工作室项目,但Flexbox一直无法解决.据我所知,所有相关的存储库都包含在内.我试过多个互联网连接(没有涉及代理)无济于事.

我也尝试过不同版本的flexbox.

这是我的app 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()
}
Run Code Online (Sandbox Code Playgroud)

所有其他谷歌依赖项下载和安装,似乎flexbox在gradle同步期间下载,但之后总是失败.我真的不知道是什么原因引起的.我已经完全删除了Android Studio(包括Gradle文件,sdk文件,首选项等)并从头开始重新安装,但这个错误一直在发生.我真的很茫然.

依赖关系列为:

implementation 'com.google.android:flexbox:1.1.0'
Run Code Online (Sandbox Code Playgroud)

编辑:因此,当我再次尝试同步时,我设法屏蔽了Android Studio底部的状态栏,看看当我看到'flexbox'闪烁时发生了什么:

Android Studio状态栏的屏幕抓取 当我尝试在浏览器中访问此URL时,我得到404

这甚至是正确的回购?

Vol*_*ing 10

对于那些在从他们的 gradle 文件中删除jcenter()后遇到这个问题的人:

根据此评论(https://github.com/google/flexbox-layout/issues/566#issuecomment-844630491),flexbox 库现在可以从 google maven 存储库中获得。

但是,这需要将引用更改为:

dependencies {
    implementation 'com.google.android.flexbox:flexbox:3.0.0'
}
Run Code Online (Sandbox Code Playgroud)

  • 如果您直接在项目中使用 Flexbox,这确实可以解决问题,但是我有一个依赖于 Flexbox 2.0.1 的库,并且我没有该库的源代码来升级它。 (5认同)

Inl*_*ner 7

对于那些寻求解决此问题的方法作为第三方库中的依赖项的人

尝试将其放入您的项目级别 gradle 文件中:

allprojects {

    dependencies{
        modules {
            module("com.google.android:flexbox") {
                replacedBy("com.google.android.flexbox:flexbox")
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)


Ous*_*oua 5

将其添加到您的gradle文件中

maven {
    url "https://google.bintray.com/flexbox-layout" }
Run Code Online (Sandbox Code Playgroud)

  • 升级到 Gradle 7(或更高版本)后,此答案不再有效。请查看@Volker Voecking 的答案 (2认同)