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

作者:daisy 时间:2022-12-07 19:44:31 

前言

大家都知道Android Studio目前已经更新到2.0 Preview 6了,作为Google大力推崇的开发工具,相对于Eclipse ADT有着不可比拟的优势。然而在实际使用时,依然有不少不爽的地方。Android Studio原生支持使用Gradle来构建项目本是个不错的想法,使用动态语言Groovy定义项目构建过程,避免了build.xml文件的繁琐定义。但是Gradle的二进制包体积较大,而且用户可能按照了不同的Gradle版本,构建时可能会出现各种问题。因此又提出了Gradle Wrapper这么个东西,用于解决前面出现的问题。Gradle Wrapper会绑定到一个指定的Gradle版本。当用户导入项目工程时,会自动到远程服务器上下载Gradle包。这样解决了客户端版本不一致的问题,但是也带来了一个新的问题:国内连接到远程服务器下载Gradle包的速度非常慢!所以,每当将新项目导入到Android Studio时,都会卡在这个界面:

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

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

解决方法
在网络上搜罗了一番,通常的做法是修改Gradle Wrapper配置文件中的Gradle版本,但是都不太完整。最后在这里看到了完整点的解决方法。精简下主要如下几个步骤:

1、先获取本机相关参数,包含如下几个(括号中是我本人机器的参数):

     Android Plugin Version:(1.5.0)

     Gradle Version:(2.8)

     Compile SDK Version:(23)

     Build Tools Version:(23.0.2)

     GradleHome:(/Applications/Android Studio.app/Contents/gradle/gradle-2.8)

获取方法很简单,在Android Studio里面新建一个工程,单击工程名右键选择“Open Module Settings”弹出对话框中可以看到:

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

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

2. 参数准备好了,即可开始修改目标项目的参数。需要修改的参数位于哪些文件呢?

     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/build.gradle文件:修改Compile SDK VersionBuild Tools Version参数。(这个是单个module的配置,project中每个module都需要修改)

3. 参数修改完成,开始正式导入项目。一般情况下,这时候可以很顺利的就导入到Android Studio中来了。如果仍然卡在导入界面,那么只能乖乖的等了……

总结

标签:androidstudio,导入,项目
0
投稿

猜你喜欢

  • 简单记事本java源码实例

    2023-11-26 02:03:17
  • Android实现读写USB串口数据

    2023-10-21 19:12:56
  • 使用springboot aop来实现读写分离和事物配置

    2022-10-29 11:43:07
  • android中图形图像处理之drawable用法分析

    2023-01-13 07:45:03
  • Android实现可复用的筛选页面

    2023-02-23 09:41:27
  • MyEclipse去除网上复制下来的代码带有的行号(正则去除行号)

    2023-09-15 21:59:23
  • java按指定编码写入和读取文件内容的类分享

    2023-06-18 10:13:01
  • 详解C#枚举中使用Flags特性

    2023-05-19 04:44:31
  • C# 设计模式系列教程-状态模式

    2022-11-07 13:31:55
  • Spring@Value使用获取配置信息为null的操作

    2021-08-01 23:46:27
  • C++临时性对象的生命周期详细解析

    2023-01-22 04:26:01
  • Java 从互联网上爬邮箱代码示例

    2022-02-27 16:40:57
  • Android item长按删除功能

    2022-11-13 03:45:24
  • SpringBoot中自定义注解实现参数非空校验的示例

    2022-04-12 10:55:55
  • ReactNative Alert详解及实例代码

    2022-07-04 15:02:46
  • Android实现表情功能

    2023-03-05 06:46:27
  • OpenCV实现简单摄像头视频监控程序

    2021-12-10 01:23:07
  • mybatis in foreach 双层嵌套问题

    2023-11-24 12:55:47
  • Android编程之播放器MediaPlayer实现均衡器效果示例

    2022-02-25 11:52:32
  • Android控件之SlidingDrawer(滑动式抽屉)详解与实例分享

    2023-07-27 09:26:18
  • asp之家 软件编程 m.aspxhome.com