Android Studio 3.1.3 Gradle同步错误。无法下载Gradle-Core.jar

时间:2018-06-27 22:32:54

标签: java android android-studio gradle

我是计算机科学专业的学生,​​我试图熟悉为夏季爱好构建应用程序的过程。但是,在过去几天中,当我尝试同步Gradle时,它却给我同样的错误,指出

  

gradle-core.jar无法下载。

我将在这篇文章的底部发布完整的错误消息。

当然,我确保我不在离线模式下工作。最重要的是,我强迫使用https://来获取http://源。我还已将https://文件中的distributionUrl的gradle-wrapper.properties更改为http://。我尝试了不同的代理,并已将build.gradle文件中的存储库更改为具有jcenter(), mavenCentral(), and google().

我什至尝试与防火墙同步,并且防病毒功能已关闭,但没有任何反应。在下面,您将找到我的全部错误消息。

org.gradle.api.ProjectConfigurationException: A problem occurred configuring root project 'AndroidStudioProjects'.
...
    at org.gradle.configuration.project.LifecycleProjectEvaluator.doConfigure(LifecycleProjectEvaluator.java:64)
    ... 84 more
Caused by: org.gradle.internal.resolve.ArtifactResolveException: Could not download gradle-core.jar (com.android.tools.build:gradle-core:3.1.3)
    at org.gradle.api.internal.artifacts.repositories.resolver.ExternalResourceResolver$RemoteRepositoryAccess.resolveArtifact(ExternalResourceResolver.java:506)
    at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.CachingModuleComponentRepository$ResolveAndCacheRepositoryAccess.resolveArtifact(CachingModuleComponentRepository.java:409)
    at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.BaseModuleComponentRepositoryAccess.resolveArtifact(BaseModuleComponentRepositoryAccess.java:65)
    at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.memcache.InMemoryCachedModuleComponentRepository$CachedAccess.resolveArtifact(InMemoryCachedModuleComponentRepository.java:124)
    at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ErrorHandlingModuleComponentRepository$ErrorHandlingModuleComponentRepositoryAccess.resolveArtifact(ErrorHandlingModuleComponentRepository.java:171)
    ...
    ... 6 more
Caused by: org.gradle.api.resources.ResourceException: Could not get resource 'https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle-core/3.1.3/gradle-core-3.1.3.jar'.
    at org.gradle.internal.resource.ResourceExceptions.failure(ResourceExceptions.java:74)
    at org.gradle.internal.resource.ResourceExceptions.getFailed(ResourceExceptions.java:57)
    at org.gradle.internal.resource.transfer.AccessorBackedExternalResource.withContentIfPresent(AccessorBackedExternalResource.java:146)
    ...
    at org.gradle.api.internal.artifacts.repositories.resolver.ExternalResourceResolver$RemoteRepositoryAccess.resolveArtifact(ExternalResourceResolver.java:499)
    ... 27 more
Caused by: javax.net.ssl.SSLException: SSL peer shut down incorrectly
    at sun.security.ssl.InputRecord.readV3Record(InputRecord.java:596)
    at sun.security.ssl.InputRecord.read(InputRecord.java:532)
    at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:983)
    at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:940)
    at sun.security.ssl.AppInputStream.read(AppInputStream.java:105)
    at org.apache.http.impl.io.SessionInputBufferImpl.streamRead(SessionInputBufferImpl.java:139)
    at org.apache.http.impl.io.SessionInputBufferImpl.read(SessionInputBufferImpl.java:200)
    ...
    at org.gradle.internal.resource.transfer.AccessorBackedExternalResource.withContentIfPresent(AccessorBackedExternalResource.java:137)
    ... 44 more

(编辑):以下是我的相关文件

build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    ext.kotlin_version = '1.2.30'
    repositories {
        jcenter()
        mavenCentral()
        google()

    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.3'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

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

allprojects {
    repositories {
        jcenter()
        mavenCentral()
        google()
    }
}

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

gradle-wrapper.properties

#Tue Jun 26 21:50:19 MDT 2018
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=http\://services.gradle.org/distributions/gradle-4.4-all.zip 

gradle.properties

# Project-wide Gradle settings.
# IDE (e.g. Android Studio) users:
# Gradle settings configured through the IDE *will override*
# any settings specified in this file.
# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
org.gradle.jvmargs=-Xmx1536m
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true

settings.gradle

include ':app'

local.properties

## This file is automatically generated by Android Studio.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file should *NOT* be checked into Version Control Systems,
# as it contains information specific to your local configuration.
#
# Location of the SDK. This is only used by Gradle.
# For customization when using a Version Control System, please read the
# header note.
sdk.dir=C\:\\Users\\jddah\\AppData\\Local\\Android\\Sdk

4 个答案:

答案 0 :(得分:9)

尝试将google()设置为第一回购,如下所示。对于您现有的Android Studio项目,请勿将其放在jcenter()mavenCentral()下。

repositories {
    google() // make this repo as the first one if Android Gradle Plugin is upgraded from 2.x to 3.x. 
    jcenter()
    mavenCentral()
}

对于具有较低版本Android Gradle Plugin的 React Native CordovaLib 项目,例如2.2.3中,您可以尝试将google()替换为以下内容,但请记住将其作为第一个回购选择。

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

清理所有旧的.gradle缓存,然后执行新的同步。

答案 1 :(得分:4)

就我而言,对于gradle:2.2.3

allprojects {
    repositories {
        maven { url 'https://maven.google.com' }  // now here
        mavenLocal()
        jcenter()
        maven { url "$rootDir/../node_modules/react-native/android" }
        maven { url 'https://maven.google.com' }  // was here
    }
}

希望有帮助:)

答案 2 :(得分:0)

它读取

  

由以下原因引起:javax.net.ssl.SSLException:SSL对等项错误关闭

这意味着SSL证书或信任库有问题。

正在下载的JAR URL正确,可以获取它。

issue也列在Gradle GitHub上...

...在gradle.propteries中选择IPv4可能会有所帮助:

org.gradle.jvmargs=-Djava.net.preferIPv4Stack=true

,以及启用SSL和握手记录:

org.gradle.jvmargs=-javax.net.debug=ssl,handshake

另请参阅Debugging SSL/TLS Connections

答案 3 :(得分:0)

将项目级别的gradle插件版本更新为最新版本并重建项目。

classpath 'com.android.tools.build:gradle:3.2.1'

检查您是否正确键入了它。如果仍然无法使用,请查看Android Gradle插件发行说明以找到正确的Gradle插件版本。 https://developer.android.com/studio/releases/gradle-plugin