Android Studio 卡在 Building ‘xxx’

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

gradlew 就是 Gradle Wrapper 的缩写,gradlew 命令在执行时会下载配置文件/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 文件,方法:安装有 NodeJS 的机器:使用命令终端 npm install -g http-server 或者 live-server,然后使用终端命令 http-server . 快速启动一个 Web Server;

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

修改 /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

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐