Android Studio 导入新项目的问题和解决
文章目录
背景
在学习 MPAndroidChart 时,Philipp Jahoda的整个GitHub项目仓库为 Android Studio Project,所以我们可以通过 git clone 把仓库下到本地,然后通过 Android Studio 打开并且导入,但是在这导入期间,我遇到了一些问题……
问题和解决
问题一:ERROR: Could not install Gradle distribution from ‘https://services.gradle.org/distributions/gradle-5.1.1-all.zip’.
通过 Android Studio 导入一个新项目时,第一步就是 Sync(同步) 项目的 Gradle 环境,那么 Android Studio 是通过什么进行 Gradle 环境的 Sync(同步)呢?没错,就是通过 gradle/wrapper/ 下的内容进行第一步的配置。
如果你没有当前 gradle/wrapper/gradle-wrapper.properties 中 distributionUrl 里面指定的 gradle 版本(例如当前 MPAndroidChart 中的 ” distributionUrl=https://services.gradle.org/distributions/gradle-5.1.1-all.zip “)。你就需要当场 install 一个了,这就会导致本问题的出现。
问题一解决方案:直接换成之前已经能正常使用的项目的内容
其实该问题的解决方法十分简单,我们直接把新项目里面的 gradle/wrapper/ 的内容换掉就好了。(gradle/wrapper/ 的内容有两个:gradle-wrapper.jar 和 gradle-wrapper.properties)
在导入新项目之前你一定用过 Android Studio 开发过一个能正常使用的项目吧?就算没有,你也可以现场马上立刻 New 一个新的 Project(例如 HelloWorld ),在这个可以正常使用的项目里面,也有 gradle/wrapper/,并且这个是可以在你的电脑上正常 Sync(同步)的,所以你需要把新项目的 gradle/wrapper/ 的内容全部删掉,然后把这个能正常使用的项目里面的 gradle/wrapper/ 的内容复制粘贴到新项目的 gradle/wrapper/ 里面,这样问题就解决了。
问题二:Gradle sync failed : read time out
问题是因为在 Gradle Sync(同步)过程中从海外站点下载 jar 包速度过慢,一般是自己的网络原因,挂梯子使用代理也不一定能解决这个问题。
问题二解决方案:增大网络延迟允许时间(timeout)
修改 gradle.properties 文件中的 org.gradle.jvmargs。如下:
org.gradle.jvmargs=-Xmx1536m -Dorg.gradle.internal.http.connectionTimeout=120000 -Dorg.gradle.internal.http.socketTimeout=120000
即可解决 Gradle sync failed : read time out 错误。
其实还有另一种解决方案,不过我没有试过:使用阿里云mirror,详见这里。