【问题标题】:Gradle Build Error: Unable to load Maven meta-data from https://repo1.maven.org/maven2/io/fabric/tools/gradle/maven-metadata.xmlGradle 构建错误:无法从 https://repo1.maven.org/maven2/io/fabric/tools/gradle/maven-metadata.xml 加载 Maven 元数据
【发布时间】:2015-05-21 02:22:39
【问题描述】:

我在 Android Studio 中遇到 gradle build 错误,如下所示:

    Error:A problem occurred configuring project ':MyApp'.
    Could not resolve all dependencies for configuration ':MyApp:classpath'.
    Could not resolve io.fabric.tools:gradle:1.+.     
Required by:
    sw-android:MyApp:unspecified
    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'.
    peer not authenticated
        Failed to list versions for io.fabric.tools:gradle.
        Unable to load Maven meta-data from  
        http://maven.fabric.io/public/io/fabric/tools/gradle/maven-metadata.xml.
        Could not GET http://maven.fabric.io/public/io/fabric/tools/gradle/maven-metadata.xml'.
        peer not authenticated

我发现“https”标签无法下载 Maven URL,因此我在 build.gradle 文件中将 https 更改为 http。此外,我检查了所有 gradle 设置并手动修改路径 C:\Users\Ashfaque1.AndroidStudio\config\options\ 中的 other.xml 文件,但它仍然采用https://repo1.maven.org/maven2/io/fabric/tools/gradle/maven-metadata.xml。同样,一旦我点击浏览器的此链接,我会收到 404 异常,但错误http://maven.fabric.io/public/io/fabric/tools/gradle/maven-metadata.xml 中的第二个 URL,我能够成功点击并在我的系统中正确下载元数据文件。 无法理解是什么问题,我需要更改设置以便下载元数据文件。 请建议我是否需要更改任何设置或从哪里获取此 URL https://repo1.maven.org/maven2//io/fabric/tools/gradle/maven-metadata.xml

我的 build.gradle 文件如下:

    apply plugin: 'com.android.application'
    apply plugin: 'io.fabric'

    buildscript {
    repositories {
        mavenCentral()
        maven { url 'http://maven.fabric.io/public' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.1.0'
        classpath 'io.fabric.tools:gradle:1.+'
    }
    }

    repositories {
        mavenCentral()
        maven { url 'http://maven.fabric.io/public' }
    }

    dependencies {
    compile 'com.android.support:multidex:1.0.0'
    compile fileTree(dir: 'libs',include: '*.jar')
    compile project(':DeviceService')
    compile project(':RatioCommon')
    compile project(':SlidingMenu:library')   
    compile project(':SmartViewLibrary:SmartView')
    compile project(':SmartViewLibrary:OpenAccess')
    compile('com.crashlytics.sdk.android:crashlytics:2.2.0@aar') {
        transitive = true;
    }
   }
   compileSdkVersion 21
   buildToolsVersion "21.1.2"

   defaultConfig {
        minSdkVersion 18
        targetSdkVersion 21


        // Enabling multidex support.
        multiDexEnabled true
    }

    dexOptions {
        javaMaxHeapSize "4g"
    }
   }

【问题讨论】:

标签: java android maven android-studio android-gradle-plugin


【解决方案1】:

1) 你应该与远程仓库同步,​​比如

mvn install - U

或在Android StudioIntelliJ Idea 中转到Settings 找到Maven 组,找到子组Repositories 并在fabric repo 上单击Update

2) 如果它没有帮助你应该切换到jcenter() 而不是mavenCentral(),因为fabric.io 开发人员将更新推送到jcentral()mavenCentral() 可能已经过时了。更多关于两者之间的区别:Android buildscript repositories: jcenter VS mavencentral

【讨论】:

    【解决方案2】:

    当您使用代理时可能会发生这种情况

    【讨论】:

    • 请解释一下。
    • 例如,在与主机有 NAT/PAT 连接的 Linux 虚拟机上,它会失败,但在桥接模式下,会正常。
    • 更平凡:如果您有公司 VPN 但忘记登录,可能会发生此错误
    【解决方案3】:

    如果您在查看 Stack 中的所有主题后仍然无法构建 gradle,就像我过去两天所做的那样,您可能还需要检查您之前是否使用过“代理”,有两个文件名为gradle 包中的 gradle.properties。

    如果您之前使用过代理,那么 android studio 可能会在其中一个 gradle.properties 文件中添加该信息,因此请查看它们,如果您看到类似的内容:

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

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

    只需删除它们,然后使缓存无效并重新启动您的 android studio 并运行项目,我相信您会没事的。

    【讨论】:

      【解决方案4】:

      开启

      离线工作

      在设置中 -> 构建、执行... -> Gradle

      【讨论】:

      • 虽然这不是一个答案,请使用评论部分提出额外或补充问题。谢谢。
      • 在获得 50 个声望之前,我无法添加评论。
      • 这并不意味着您将评论作为答案。 read
      【解决方案5】:

      对于仍然面临此问题的任何人,您需要执行以下操作:

      1. 阅读answer by Arash Afsharpour
      2. 听他说的

      如果问题仍然存在:

      在您的系统某处有一个全局 .gradle/gradle.properties 文件(在我的情况下,它位于我的用户主目录中)。此文件存储了您的代理设置。注释这些行。

      这应该可以让您的项目启动并运行。

      干杯!

      【讨论】:

        【解决方案6】:

        对我来说,这是由于我为发布构建所做的堆大小增加。

        我刚刚从我的 gradle.properties 文件中注释了以下行:

        org.gradle.jvmargs=-Xms1024m -Xmx4096m
        

        做了./gradlew clean,现在可以正常工作了。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2017-05-25
          • 1970-01-01
          • 2017-01-11
          • 2019-04-01
          • 2021-11-11
          • 2017-06-18
          • 2016-05-03
          相关资源
          最近更新 更多