无法解析 io.fabric.tools:gradle:1.+

30

我在构建项目时遇到问题。这是第一次构建。我使用代理,所有其他依赖项都已下载,只有此处存在问题。

我尝试了一些在SO上找到的选项,但迄今为止没有运气。有人能给我一些修复此问题的提示吗?

我迄今为止尝试过的事情:

  • 文件 -> 无效缓存/重启 -> 无效并重启
  • crashlytics:2.5.5@aar更新为crashlytics:2.6.4@aar
  • 重新启动Android Studio
  • 我没有处于离线模式

app/build.gradle

buildscript {
    repositories {
        maven { url https://maven.fabric.io/public }
        mavenCentral()
        jcenter()
    }
}

apply plugin: 'io.fabric'

dependencies {
    compile("com.crashlytics.sdk.android:crashlytics:2.5.5@aar") {
        transitive = true
    }
}

build.gradle

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.3'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

错误:

Failed to list versions for io.fabric.tools:gradle.
  Unable to load Maven meta-data from https://maven.fabric.io/public/io/fabric/tools/gradle/maven-metadata.xml.
    Could not GET 'https://maven.fabric.io/public/io/fabric/tools/gradle/maven-metadata.xml'.
      Connect to maven.fabric.io:443 [maven.fabric.io/54.230.133.33] failed: Connection refused: connect
Could not resolve io.fabric.tools:gradle:1.+.
  Failed to list versions for io.fabric.tools:gradle.
    Unable to load Maven meta-data from https://jitpack.io/io/fabric/tools/gradle/maven-metadata.xml.
      Could not GET 'https://jitpack.io/io/fabric/tools/gradle/maven-metadata.xml'.
        Connect to jitpack.io:443 [jitpack.io/104.24.23.62, jitpack.io/104.24.22.62] failed: Connection refused: connect
Could not resolve io.fabric.tools:gradle:1.+.
  Failed to list versions for io.fabric.tools:gradle.
    Unable to load Maven meta-data from https://repo1.maven.org/maven2/io/fabric/tools/gradle/maven-metadata.xml.
      Could not GET 'https://repo1.maven.org/maven2/io/fabric/tools/gradle/maven-metadata.xml'.
        Connect to repo1.maven.org:443 [repo1.maven.org/151.101.24.209] failed: Connection refused: connect
Could not resolve io.fabric.tools:gradle:1.+.
  Failed to list versions for io.fabric.tools:gradle.
    Unable to load Maven meta-data from https://jcenter.bintray.com/io/fabric/tools/gradle/maven-metadata.xml.
      Could not GET 'https://jcenter.bintray.com/io/fabric/tools/gradle/maven-metadata.xml'.
        Connect to jcenter.bintray.com:443 [jcenter.bintray.com/75.126.118.188] failed: Connection refused: connect

只需安装AS的Fabric插件即可。 - Amine Harbaoui
12个回答

28

遇到了相同的问题。 我通过安装最新的Android Studio Fabric插件来解决它。

将以下内容添加到build.gradle中。

buildscript {
    repositories {
        maven { url 'https://maven.fabric.io/public' }
    }
    dependencies {

        classpath 'io.fabric.tools:gradle:VVV'
    }
}
apply plugin: 'io.fabric'

repositories {
    maven { url 'https://maven.fabric.io/public' }
}

VVV是最新版本时,执行此操作。在我的情况下,VVV是1.31.2

将此添加到清单中

<meta-data
            android:name="io.fabric.ApiKey"
            android:value="xxxxxxxxxxxxxxxxxxxxxxx" />

其中 xxxxxxxxxxxxxxxx 是您获取的值。

将此添加到您的启动器类中。

Fabric.with(this, Crashlytics())

重新构建项目,然后即可使用。


这个设置是放在 project/build.gradle 还是 Module/build.gradle 中? - Sam
前往 build.gradle(Module:app) @ Sam。 - Tandoh Anthony Nwi-Ackah
1
谢谢@Tandoh。我在https://maven.fabric.io/public/io/fabric/tools/gradle/maven-metadata.xml获取了最新版本。 - Shashi Shiva L
firebase.google.com 对我来说无法加载。通过更改IP并使用VPN解决了这个问题,当网站为我加载并尝试重新构建应用程序时,问题得到了解决。 - Esmaeil Ahmadipour

13

嗯,对我来说错误似乎很明显。你无法通过 HTTPS 连接到这些仓库中的任何一个。既然不太可能它们都挂了,并且你已经说过你在代理后面,那么请通过 Gradle 属性 如用户指南中所述 配置 HTTPS 代理,你就可以解决问题。

如果你的代理在 Gradle 方面已正确配置,也许代理会由于某种条件而阻止请求。在这种情况下,你应该向代理维护者询问。


2
在Android Studio或Gradle属性文件中,我应该在哪里指定代理设置? - Sam
我猜两种可能都存在,但在你的情况下可能是缺少Gradle。您还可以尝试从命令行执行构建以进行验证。 - Vampire
1
我没有使用代理,对吗? - Jono
这发生在我没有连接互联网的时候。修复网络问题解决了我的问题。 - Ashvin777

7

按照以下方式编辑项目 Gradle

buildscript {

repositories {
    google()
    jcenter()
    maven {
        url 'https://maven.fabric.io/public'
    }
}
dependencies {
    classpath 'com.android.tools.build:gradle:3.1.4'
    classpath 'com.google.gms:google-services:3.3.0'
    classpath 'io.fabric.tools:gradle:1.25.4'


    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}
}

allprojects {
repositories {
    google()
    jcenter()
    maven {
        url 'https://maven.google.com/'
    }
}
}

task clean(type: Delete) {
delete rootProject.buildDir
}

6
我尝试添加 Maven 仓库的 URL,但没有成功。问题是 Firebase Crashlytics 决定更改其依赖项名称。
io.fabric.tools:gradle

to

com.google.firebase:firebase-crashlytics-gradle

随着Firebase收购Fabric。

因此,不再使用

classpath "io.fabric.tools:gradle:1.25.4"

使用

classpath 'com.google.firebase:firebase-crashlytics-gradle:2.1.0'

并且更改

apply plugin: 'io.fabric'

to

apply plugin: 'com.google.firebase.crashlytics'

References


4
这个错误:
Could not find any matches for io.fabric.tools:gradle:1.+ as no versions of io.fabric.tools:gradle are available.

当选择位于“设置->构建、执行、部署->Gradle->全局Gradle设置”中的“离线工作”选项时,将会发生这种情况。
为解决此问题,您需要更改:
从:io.fabric.tools:gradle:1.+ 到:io.fabric.tools:gradle:1.0 当您这样做时,Android Studio本身会警告您最新的版本。在我的情况下是:1.25.4。 所以,在我的情况下,它是这样的:
dependencies { 
    classpath 'com.android.tools.build:gradle:3.2.0' 
    classpath 'io.fabric.tools:gradle:1.25.4' 
}

我希望它能帮助其他人。


4

遇到同样的问题,通过升级面料Gradle到最新版本解决。以下是代码:

dependencies {
    classpath 'io.fabric.tools:gradle:1.25.4'
}

2

我曾经遇到过同样的问题,只需确保按照以下步骤操作,就可以成功安装Crashlytics:

1)在项目级别的gradle中添加以下内容:

buildscript {
    repositories {
        google()
        maven { url 'https://maven.fabric.io/public' }
    }
    dependencies {
        classpath 'com.google.gms:google-services:4.2.0'
        classpath 'io.fabric.tools:gradle:1.27.1'
    }
}
allprojects {
    repositories {
        google()
        jcenter()
        maven { url 'https://maven.fabric.io/public' }
    }
}

2)在你的应用级别 gradle 文件中

在文件的开头添加以下内容:

apply plugin: 'io.fabric'
apply plugin: 'com.google.gms.google-services'

在依赖项块中添加:

implementation 'com.crashlytics.sdk.android:crashlytics:2.9.9'

在添加了所有这些内容之后,它终于对我起作用了。希望能对你有所帮助。干杯!


1

首先,在gradle.properties(项目属性)中添加以下内容:

对于http,请使用以下内容:

systemProp.http.proxyHost=your_proxy_host
systemProp.http.proxyPort=your_proxy_port
systemProp.http.proxyUser=your_proxy_username
systemProp.http.proxyPassword=your_proxy_password

使用https

systemProp.https.proxyHost=your_proxy_host
systemProp.https.proxyPort=your_proxy_port
systemProp.https.proxyUser=your_proxy_username
systemProp.https.proxyPassword=your_proxy_password

然后进入文件 -> 设置 -> 外观和行为 -> 系统设置 -> HTTP代理,选择手动代理配置,选择HTTP,输入主机名,输入端口号,选择代理身份验证,输入登录名(您的代理用户名),输入密码(您的代理密码),(注意您可以选择检查连接)然后应用并确定。完成!!!


尝试设置了两个选项,但仍然出现相同的错误。 - Anukool srivastav

1
请使用此链接查找最新的Fabric Gradle插件 最新的Fabric Gradle插件 避免在版本号中使用+,这可能会导致构建不可预测且不可重复(io.fabric.tools:gradle:1.+)
在依赖项中使用+可以让您自动选择最新可用版本,而不是指定的命名版本。然而,这并不被推荐;您的构建是不可重复的;您可能已经测试过与构建服务器所使用的略有不同的版本。(在主要版本号位置使用动态版本比在次要版本号位置使用它更为棘手。)

0
    *Add the following in your project/build.gradle**
    buildscript {

    repositories {
        google()
        jcenter()
        maven {
            url 'https://maven.fabric.io/public'
        }
    }
    dependencies {

        classpath 'io.fabric.tools:gradle:1.25.4'


        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
    }

**Add the following in your app/build.gradle**

 apply plugin: 'io.fabric'//on top 

   dependencies {
    //Crashlytics
   implementation 'com.crashlytics.sdk.android:crashlytics:2.9.9'
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接