Android Studio导入项目非常慢的解决方法

所属分类: 软件编程 / Android 阅读数: 61
收藏 0 赞 0 分享

Android Studio原生支持使用Gradle来构建项目,使用动态语言Groovy定义项目构建的过程,避免了build.xml文件繁琐的定义。

然而使用的时候,却有着巨大的缺陷。由于Android Studio在升级的时候,可能会伴随着Gradle版本的升级,Gradle就会产生若干的版本。

为了保证程序不会因为Gradle版本不同导致问题,又产生了Gradle Wrapper,它的作用就是让项目绑定一个Gradle版本,当我们导入项目时,会自动下载相应的Gradle版本。

问题来了

这就导致我们在打开其它项目的时候,如果当前电脑没有该项目配置的Gradle版本就会下载相应的Gradle版本。但是Gradle的二进制包较大,又加上链接的是国外服务器,导致国内基本很难下载下来, 这时候后就会出现下面的情况。

这里写图片描述

你不知道到底是AS死了,还是它确实在后台做些什么……要么就耐着性子等,要么就直接关掉AS,而且必须是强制关闭。这一点做的非常不友善。实际上,之所以卡在这,就是因为后台在服务器下载Gradle包。而这个Gradle包往往有几十兆,在网络环境不太好的情况下,可能要下很久才能完成。显然,我们没有这么多时间在这耗着,需要找个办法来解决了。

解决方式一

当你装Android Studio和SDK时, 肯定至少会装一个Gradle,这时可以通过新建项目的方式,查询到Gradle版本。

本地Gradle版本路径也要知道, 打开设置界面 

还有几个参数要记录,这是和SDK匹配的,导入的项目中编译SDK版本本机也要有。

记住这几个参数,然后把要导入项目的参数改成和当前参数一致,就可以正常导入项目了。 

来看看怎么修改

- xxx-project/.idea/gradle.xml文件:
添加或修改<option name="gradleHome" value="前面的GradleHome参数" />

- xxx-project/gradle/wrapper/gradle-wrapper.properties文件:
distributionUrl=https\://services.gradle.org/distributions/gradle-前面的gradleVersion-all.zip

- xxx-project/build.gradle文件:
classpath ‘com.android.tools.build:gradle:前面Android Plugin Version‘ (这个是整个project的配置)

- xxx-project/app/build.gradle文件:
修改Compile SDK Version和Build Tools Version参数。(这个是单个module的配置,project中每个module都需要修改)

修改完了,就可以正常导入了。

如果电脑断网,可以直接导入项目,但是项目不能正常运行,还是需要修改这些参数才能正常编译。

解决方式二

上面最主要的问题就是Gradle版本下载不下来, 我们可以单独下载指定的Gradle版本。 
先可以查看项目依赖的gradle版本,

 

然后去找相应的版本进行下载,下载地址:https://pan.baidu.com/s/1hsgDmXQ

Windows默认把下载的文件放到C:\Users\xxx\.gradle\wrapper\dists目录下

 

mac默认在/Users/apple/.gradle/wrapper/dists/ 

每个版本zip包都放到相应版本路径下,如:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

Android样式和主题之选择器的实例讲解

今天小编就为大家分享一篇关于Android样式和主题之选择器的实例讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
收藏 0 赞 0 分享

Android应用动态修改主题的方法示例

今天小编就为大家分享一篇关于Android应用动态修改主题的方法示例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
收藏 0 赞 0 分享

Flutter 网络请求框架封装详解

这篇文章主要介绍了Flutter 网络请求框架封装详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Flutter倒计时/计时器的实现代码

这篇文章主要介绍了Flutter倒计时/计时器的实现代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Android使用google breakpad捕获分析native cash

这篇文章主要介绍了Android使用google breakpad捕获分析native cash 的相关知识,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

详解Flutter WebView与JS互相调用简易指南

这篇文章主要介绍了详解Flutter WebView与JS互相调用简易指南,分为JS调用Flutter和Flutter调用JS,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Android开发实现ListView和adapter配合显示图片和文字列表功能示例

这篇文章主要介绍了Android开发实现ListView和adapter配合显示图片和文字列表功能,涉及Android使用ListView结合adapter适配器实现图文显示功能相关的布局、解析、权限控制等操作技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

Android文字基线Baseline算法的使用讲解

今天小编就为大家分享一篇关于Android文字基线Baseline算法的使用讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
收藏 0 赞 0 分享

Flutter自定义实现神奇动效的卡片切换视图的示例代码

这篇文章主要介绍了Flutter自定义实现神奇动效的卡片切换视图的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Android实现自定义滑动刻度尺方法示例

这篇文章主要给大家介绍了关于Android实现自定义滑动刻度尺的相关资料,文中通过示例代码介绍的非常详细,对各位Android开发者们具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享
查看更多