我是计算机科学专业的学生,我试图熟悉为夏季爱好构建应用程序的过程。但是,在过去几天中,当我尝试同步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
答案 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
答案 3 :(得分:0)
将项目级别的gradle插件版本更新为最新版本并重建项目。
classpath 'com.android.tools.build:gradle:3.2.1'
检查您是否正确键入了它。如果仍然无法使用,请查看Android Gradle插件发行说明以找到正确的Gradle插件版本。 https://developer.android.com/studio/releases/gradle-plugin