手记

用Android Studio 打开项目反应很慢的问题

Android Studio 卡在 Building ‘xxx’

Android Studio 打开一个 android 项目目录时,它调用 Gradle 工具来编译项目,相当于在项目目录下运行 ./gradlew 命令(Windows 上则是运行 gradlew.bat)。

gradlew 就是 Gradle Wrapper 的缩写,gradlew 命令在执行时会下载配置文件<ProjectDir>/gradle/wrapper/gradle-wrapper.properties 中 distributionUrl 指定的 Gradle 版本, gradle-wrapper.properties 文件内容如下:

#Sat Jun 24 21:38:23 PDT 2017distributionBase=GRADLE_USER_HOMEdistributionPath=wrapper/distszipStoreBase=GRADLE_USER_HOMEzipStorePath=wrapper/dists#distributionUrl=https\://services.gradle.org/distributions/gradle-4.0-rc-1-all.zipdistributionUrl=http\://127.0.0.1:8080/gradle-4.0-rc-1-all.zip1234567812345678

在国内访问 services.gradle.org 是很慢的,所以会一直在下载 gradle-xxx.zip 文件,不信请在项目目录下执行 gradlew 命令。

解决办法

让 Gradle Wrapper 从本地下载 gradle-xx-all.zip 文件,方法:

  1. 使用迅雷下载对应的 Gradle 工具包文件: https://services.gradle.org/distributions/gradle-4.0-rc-1-all.zip,保存在本地 D:\Download 目录。

  2. 本地启动一个 Web 服务器,让我们可以通过 http://127.0.0.1:8080/gradle-4.0-rc-1-all.zip 下载该文件。 

  • 安装有 NodeJS 的机器:使用命令终端 npm install -g http-server 或者 live-server,然后使用终端命令 http-server . 快速启动一个 Web Server;

  • 安装有 Python 的机器:使用终端命令 python -m SimpleHTTPServer 8080 快速启动一个 Web Server;

修改 <ProjectDir>/gradle/wrapper/gradle-wrapper.properties 中 distributionUrl 的值为http://127.0.0.1:8080/gradle-4.0-rc-1-all.zip (请使用自己的本地 Web服务器地址)

macOS/Linux 用户打开终端,Windows 用户打开命令行窗口,并使用 cd 切换到项目目录下,接着执行 ./gradlew 命令(Windows 用户直接执行 gradlew.bat 命令)。

在命令执行成功后使用 Android Studio 打开项目,如果你的 Android Studio 已经卡在 Building Project … ,强制结束 AS 进程。

另外,Windows 用户似乎还有一种方法,修改 gradle/wrapper/gradle-wrapper.properties 文件中的键 distributionUrl 的值为 D:\download\gradle-xx.all.zip

原文链接:http://www.apkbus.com/blog-914653-68361.html

0人推荐
随时随地看视频
慕课网APP