Android Studio 3.1.4 Gradle 同步失败
Android Studio 3.1.4 Gradle Sync Failed
每当我在 Android Studio 中创建一个新项目时,它都会在 Gradle 同步时失败,并且总是出现相同的错误:
Connection timed out: connect
org.gradle.internal.resource.transport.http.HttpRequestException: Could not GET 'https://jcenter.bintray.com/com/android/tools/build/gradle/3.1.4/gradle-3.1.4.pom'.
IDE
的屏幕截图:
恰好在 GET
这个 link: https://jcenter.binary.com/com/android/tools/build/gradle/3.1.4/gradle-3.1.4.pom
时失败,但它可以接收其他 link,如 dl.google.com 和 SDK 管理器。
我什至在 AS 3.1.3
上也遇到了这个错误,而且我一直无法通过 Android Studio
创建 Android Application
。它可以通过 Eclipse ADT
轻松完成,但我想使用 Android Studio
,因为它是 Android
的官方 IDE
,并且 Google 支持 Android Studio
。
有什么方法可以解决 Gradle
这个无聊的失败?
(我已经在 Google
和 Stack overflow
搜索了一千次)
当然,link 被我们的(伊朗 IP)屏蔽 所以,我们的想法是启用 VPN重新打开 Android Studio,如果无法再次下载,则使 Caches/Restart 无效:
(Android Studio -> File -> Invalidate Caches/Restart
)
那你应该可以走了。
在 Gradle.build
中添加库也可能发生这种情况,可以通过此方法绕过。
终于成功了!
更新(最佳答案)
JCenter
检测到大多数 VPN,我为您提供更好的解决方案(伊朗开发者):
有一个服务可以帮助我们通过限制(像JCenter
,Android Developer
,等等很多服务):https://shecan.ir可以使用该快速服务而不会断开连接或出现其他麻烦(它使用 DNS
绕过限制,因此通常比 VPN 更快)。
旧答案
尊敬的伊朗开发人员,您可以通过以下简单步骤轻松解决此问题:
1 - 打开 Psiphon
2 - 在 Psiphon
(VPN) 中转到设置 -> 本地代理端口 -> HTTP,HTTPS:63620
- SOCKS:63621
。这将强制 Psiphon
始终将端口 63620
用于 HTTP。
3- 转到 AS
设置 -> 外观和行为 -> 系统设置 -> HTTP 代理 -> 手动代理配置 -> HTTP:主机名:127.0.0.1
- 端口:63620
-> 取消选中 Proxy Authentication
.
注意:这些端口(63620
、63621
)是自定义的,但是Psiphon
和AS
HTTP代理设置的HTTP端口必须相同.
4 - 注意:Android Studio
仅在您第一次创建项目时在线工作。 之后,您可以离线工作并构建您的项目或再次同步它Gradle
.
完成!
我在更新 Android Studio 后也遇到了这个问题。
我通过在项目级别 build.gradle 文件中降级 com.android.tools.build:gradle
的版本来解决它,与旧项目相同。
1> 打开你的另一个项目
--------在项目级别 gradle
检查 com.android.tools.build:gradle
的版本
--------检查gradle-wrapper.properties
中的distributionUrl
版本
2> 在您的项目中应用这两个版本
项目级别build.gradle
buildscript {
dependencies {
classpath 'com.android.tools.build:gradle:3.1.1' // your version
gradle-wrapper.properties
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip // your version
同步和 运行,所有错误都消失了!
前往地址
https://github.com/clarketm/proxy-list
select 一个代理和端口
转到 AS 设置 -> 外观和行为 -> 系统设置 -> HTTP 代理 -> 手动代理配置 -> HTTP:主机名:ip - 端口:port -> 检查代理身份验证
检查地址 https://developer.android.com/studio/ 是否正常
结束
我遇到了同样的问题并更新了 gradle 版本到最后一个:
旧
classpath 'com.android.tools.build:gradle:3.1.3'
新建
classpath 'com.android.tools.build:gradle:3.1.4'
它工作正常。
在我的例子中,我需要添加 google()
buildscript {
repositories {
jcenter()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.4'
}
}
使用热点盾
我遇到了同样的问题,因为这项服务在叙利亚被禁止
每当我在 Android Studio 中创建一个新项目时,它都会在 Gradle 同步时失败,并且总是出现相同的错误:
Connection timed out: connect
org.gradle.internal.resource.transport.http.HttpRequestException: Could not GET 'https://jcenter.bintray.com/com/android/tools/build/gradle/3.1.4/gradle-3.1.4.pom'.
IDE
的屏幕截图:
恰好在 GET
这个 link: https://jcenter.binary.com/com/android/tools/build/gradle/3.1.4/gradle-3.1.4.pom
时失败,但它可以接收其他 link,如 dl.google.com 和 SDK 管理器。
我什至在 AS 3.1.3
上也遇到了这个错误,而且我一直无法通过 Android Studio
创建 Android Application
。它可以通过 Eclipse ADT
轻松完成,但我想使用 Android Studio
,因为它是 Android
的官方 IDE
,并且 Google 支持 Android Studio
。
有什么方法可以解决 Gradle
这个无聊的失败?
(我已经在 Google
和 Stack overflow
搜索了一千次)
当然,link 被我们的(伊朗 IP)屏蔽 所以,我们的想法是启用 VPN重新打开 Android Studio,如果无法再次下载,则使 Caches/Restart 无效:
(Android Studio -> File -> Invalidate Caches/Restart
)
那你应该可以走了。
在 Gradle.build
中添加库也可能发生这种情况,可以通过此方法绕过。
终于成功了!
更新(最佳答案)
JCenter
检测到大多数 VPN,我为您提供更好的解决方案(伊朗开发者):
有一个服务可以帮助我们通过限制(像JCenter
,Android Developer
,等等很多服务):https://shecan.ir可以使用该快速服务而不会断开连接或出现其他麻烦(它使用 DNS
绕过限制,因此通常比 VPN 更快)。
旧答案
尊敬的伊朗开发人员,您可以通过以下简单步骤轻松解决此问题:
1 - 打开 Psiphon
2 - 在 Psiphon
(VPN) 中转到设置 -> 本地代理端口 -> HTTP,HTTPS:63620
- SOCKS:63621
。这将强制 Psiphon
始终将端口 63620
用于 HTTP。
3- 转到 AS
设置 -> 外观和行为 -> 系统设置 -> HTTP 代理 -> 手动代理配置 -> HTTP:主机名:127.0.0.1
- 端口:63620
-> 取消选中 Proxy Authentication
.
注意:这些端口(63620
、63621
)是自定义的,但是Psiphon
和AS
HTTP代理设置的HTTP端口必须相同.
4 - 注意:Android Studio
仅在您第一次创建项目时在线工作。 之后,您可以离线工作并构建您的项目或再次同步它Gradle
.
完成!
我在更新 Android Studio 后也遇到了这个问题。
我通过在项目级别 build.gradle 文件中降级 com.android.tools.build:gradle
的版本来解决它,与旧项目相同。
1> 打开你的另一个项目
--------在项目级别 gradle
检查com.android.tools.build:gradle
的版本
--------检查gradle-wrapper.properties
distributionUrl
版本
2> 在您的项目中应用这两个版本
项目级别build.gradle
buildscript {
dependencies {
classpath 'com.android.tools.build:gradle:3.1.1' // your version
gradle-wrapper.properties
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip // your version
同步和 运行,所有错误都消失了!
前往地址 https://github.com/clarketm/proxy-list select 一个代理和端口
转到 AS 设置 -> 外观和行为 -> 系统设置 -> HTTP 代理 -> 手动代理配置 -> HTTP:主机名:ip - 端口:port -> 检查代理身份验证 检查地址 https://developer.android.com/studio/ 是否正常 结束
我遇到了同样的问题并更新了 gradle 版本到最后一个:
旧
classpath 'com.android.tools.build:gradle:3.1.3'
新建
classpath 'com.android.tools.build:gradle:3.1.4'
它工作正常。
在我的例子中,我需要添加 google()
buildscript {
repositories {
jcenter()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.4'
}
}
使用热点盾
我遇到了同样的问题,因为这项服务在叙利亚被禁止