行业知识
解决Android studio2.3(2017)版本中报错:connection reset 或connection timed out
在新手刚开始学习Android并配置AS(android studio)时通常会遇到gradle下载的问题。如下图报错:
connection reset 和connection timed out这两种报错可视为一种情况,它们都是connection丢失的问题。
这种情况是由于网址连接问题导致gradle无法正常更新和相关依赖无法正常下载,通常情况下与jdk版本无关,使用AS(android studio)自带的jdk即够用,若你的AS使用的jdk为本机下载的版本可参考该博客:Android各版本对应的SDK及JDK版本要求_android版本对应的jdk版本-CSDN博客
配置AS主要分为三个步骤:配置SDK,配置AVD,配置gradle(步骤的先后顺序不影响最终配置结果)。这里要解决的问题即为第三个步骤——gradle的配置。
正文:
1、打开左侧Project视图中Gradle Scripts文件夹下的build.gradle(project:(工程名))文件可以看到下载依赖的引用是jcenter(),将其替换为:
maven {
url 'https://maven.aliyun.com/repository/google'
}
maven {
url 'https://maven.aliyun.com/repository/public'
}
maven {
url 'https://maven.aliyun.com/repository/jcenter'
}
替换前:
替换后:
点击app文件夹进入选中状态后点击左上角File->Project Structure->Project查看是否部署成功:
当Android Plugin Repository,Default Library Repository为更改的地址时即为成功,若仍然是jcenter(),可手动更改。
2、gradle-wrapper.properties文件中的distributionUrl的值是gradle下载网址,由于该网址在国外,所以如果没有梯子的情况下更新gradle状态会在工作台报错:connection reset 或 connection timed out,将其网址替换为国内阿里源的下载网址:
https://mirrors.aliyun.com/gradle/gradle-3.3-all.zip
更改前:
更改后:
3、配置好后点击Sync Project with Gradle Files来刷新gradle的状态。
若综上设置都配置完整,则等待gradle下载完毕后,查看maven依赖是否已经部署好:(File->Project Structure->app->Dependencies)
此时检查Gradle Scripts目录下是否多出一个build.gradle(Module:app)文件夹:
4、以上都无误后一般情况下会出现一个关于appcompat-v7:(API版本)不匹配的问题:
这里查看你的SDK manage中API的版本是多少:
如我使用的是API 26,则在Project Structure中的Module模块中更改API的版本为26:
然后将build.gradle(Module:app)中的如下代码中错误的版本号更改为你所需的版本号,如本人该文件中便更改为26
更改完成后即无报错。