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

时间:2017-06-02 00:33:18

标签: android gradle crashlytics twitter-fabric

我在构建项目时遇到问题。第一次建立。我在代理服务器后面,所有其他依赖项只下载了这个有问题。

我在SO上尝试了一些选项,但到目前为止没有运气。有人能给我一个如何解决这个问题的线索吗?

到目前为止我尝试过的事情:

  • File -> Invalidate Cache/Restart -> Invalidate and Restart
  • 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

13 个答案:

答案 0 :(得分:13)

遇到了同样的问题。 我通过为android studio安装最新的光纤插件来解决它。

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

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

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

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

将此添加到清单

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

其中xxxxxxxxxxxxxxxx是您获得的值。

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

Fabric.with(this,Crashlytics())

重建项目,你很高兴。

答案 1 :(得分:10)

嗯,错误似乎很清楚。您无法通过HTTPS连接到任何一个回购。由于不太可能所有这些都已关闭并且您已经说过您在代理服务器后面,请按照用户指南中的说明通过Gradle属性配置HTTPS代理,您应该没问题。

如果在Gradle端正确配置了代理,则代理可能会因某些情况阻止请求。在这种情况下,您可能应该询问该代理的维护者。

答案 2 :(得分:5)

像这样编辑Project 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
}

答案 3 :(得分:4)

此错误:

1.25.4

选择“离线工作”选项,位于设置 - &gt;构建,执行,部署 - &gt; Gradle-&gt;全局Gradle设置时会发生

要解决此问题,您必须更改:

来自: io.fabric.tools:gradle:1。+

收件人: io.fabric.tools:gradle:1.0

当您这样做时,Android Studio本身会警告您最新版本。就我而言,它是:dependencies { classpath 'com.android.tools.build:gradle:3.2.0' classpath 'io.fabric.tools:gradle:1.25.4' } 。 所以,就我而言,就是这样:

only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices

我希望它可以帮助别人。

答案 4 :(得分:4)

面对相同的问题,解决了将结构gradle升级到最新版本的问题。下面是代码,

map.remove("key");

答案 5 :(得分:3)

我 尝试添加maven repo url但没有用,问题是Firebase Crashlytics已决定将其依赖项名称从更改为

io.fabric.tools:gradle

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'

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

参考

答案 6 :(得分: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

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

答案 7 :(得分:1)

使用此链接查找最新的Fabric gradle插件

Latest Fabric Gradle Plugin

避免在版本号中使用+;可以导致不可预测和不可重复的构建(io.fabric.tools:gradle:1.+)

在依赖项中使用+可让您自动获取最新的可用版本,而不是特定的命名版本。但是,不建议这样做;你的构建不可重复;您可能已经使用与构建服务器使用的版本略有不同的版本进行了测试。 (使用动态版本作为主要版本号比在次要版本位置使用它更有问题。)

答案 8 :(得分:1)

    *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'
}

答案 9 :(得分:1)

我遇到了同样的问题,只需确保按照以下步骤操作,即可成功安装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'

添加所有内容后,它终于对我有用。希望能帮助到你。干杯

答案 10 :(得分:0)

我遇到了这个问题,我通过启用gradle脱机支持来解决了这个问题, 如果您不想以后再重复此问题。

我建议您启用gradle脱机支持,它将解决此问题。

您将来可以随时轻松禁用/启用脱机支持。

请检查以下内容

转到“偏好设置”>“ Gradle”,然后选中/取消选中“离线工作”。

Gradle Offline check/uncheck

答案 11 :(得分:0)

可能是因为该域被https://github.com/notracking/hosts-blocklists列入了黑名单,而https://github.com/notracking/hosts-blocklists/blob/master/SOURCES.md使用各种来源来收集黑名单Demo

作为解决方法,您可以覆盖列入黑名单的条目(dnsmasq示例)

    @IBAction func editingDidEnd(_ txtTest: UITextField) {
    if txtTest.text == ""
    {
        txtTest.text = "0"
    }

IP地址可能会更改。您必须检查一下自己。

或在build.gradle中使用IP代替主机名

答案 12 :(得分:0)

2021 解决方案:如果您至今仍面临同样的问题,那是因为 ISP 阻止了 maven fata。如果你想检查点击这个网址 http://maven.fabric.io/public/io/fabric/tools/gradle/maven-metadata.xml

如果您遇到无法加载页面问题(任何其他错误都可以),请尝试更改您的网络或代理,它会正常工作