Android Studio 3.1.3 Gradle Sync Error. Could Not Download Gradle-Core.jar
Asked Answered
G

4

11

I am a computer science student and I am attempting to get familiar with building applications for a summertime hobby. However, for the past few days when I try to sync Gradle it gives me the same error stating that

gradle-core.jar could not be downloaded.

I will post the full error message at the bottom of this post.

Of course, I made sure that I am NOT working in offline mode. On top of that I am forcing https:// sources to be fetched using http://. I have also changed the https:// for the distributionUrl to http:// in the gradle-wrapper.properties file. I have tried different proxies and have changed the repositories in the build.gradle file to have jcenter(), mavenCentral(), and google().

I have even attempted to sync with my firewall and antivirus turned off and nothing is working. Below you will find my entire error message.

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

(EDIT): Below are my relevant files

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
Geller answered 27/6, 2018 at 22:32 Comment(4)
Please edit your post to include any relevant files (build.gradle, gradle.properties, etc.)Meade
@jddahl19 got any solutions?Nonexistence
@ArnoldBrown I fixed it but I'm not so sure how. I uninstalled Android Studio and deleted all of my previous settings. I then reinstalled haxm and found that VT-x was disabled in my BIOS, so I enabled that and reinstalled Android Studio and allowed it to sync with fresh gradle settings. Gradle began to sync for me after all these steps, so I'm not sure if any of those things individually fixed my issue or if it was the collective of everything that fixed it. Try it out thoughGeller
@jddahl19 thanks for the response. I did the same because I felt re-installation is much easier than finding the issues and fixed due to work urgency.Nonexistence
A
11

Try to put google() as the first repo as below. Don't put it under jcenter() and mavenCentral() for your existing Android Studio projects.

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

For those React Native or CordovaLib projects that are with Android Gradle Plugin lower versions, e.g. 2.2.3, you can try to replace the google() with below, but remember to put it as the first repo selection.

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

Clean up all your old .gradle caches and then perform a new Sync.

Anis answered 3/7, 2018 at 9:27 Comment(1)
My answer is to put google() repo as the first repo source which ever fixed my same problem.Anis
U
5

In my case, for 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
    }
}

hope helpful : )

Urita answered 25/10, 2018 at 7:47 Comment(0)
Q
0

it reads

Caused by: javax.net.ssl.SSLException: SSL peer shut down incorrectly

which means, that there is an issue with either the SSL certificate or the trust-store.

the JAR URL being downloaded is otherwise correct, can fetch it.

the issue is also listed on the Gradle GitHub...

... prefering IPv4 in gradle.propteries might help:

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

as well as, to enable logging for SSL & handshakes:

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

also see Debugging SSL/TLS Connections.

Quickstep answered 6/8, 2018 at 1:58 Comment(0)
A
0

Update the Project level gradle plugin version to the latest version and rebuild the project..

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

check whether you have typed it correctly. if not still working check the Android Gradle plugin release note to find correct gradle plugin versions. https://developer.android.com/studio/releases/gradle-plugin

Anatollo answered 25/10, 2018 at 3:40 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.