Android Studio 打开项目慢的问题

解决Android Studio构建卡顿
本文介绍了解决Android Studio在构建项目时卡住的问题。通过调整GradleWrapper的配置,使其从本地服务器下载Gradle工具包,从而避免因网络问题导致的构建延迟。

Android Studio 卡在 Building ‘xxx’

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

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

#Sat Jun 24 21:38:23 PDT 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
#distributionUrl=https\://services.gradle.org/distributions/gradle-4.0-rc-1-all.zip

distributionUrl=http\://127.0.0.1:8080/gradle-4.0-rc-1-all.zip

在国内访问 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;
  3. 修改 <ProjectDir>/gradle/wrapper/gradle-wrapper.propertiesdistributionUrl 的值为 http://127.0.0.1:8080/gradle-4.0-rc-1-all.zip (请使用自己的本地 Web服务器地址)
  4. macOS/Linux 用户打开终端,Windows 用户打开命令行窗口,并使用 cd 切换到项目目录下,接着执行 ./gradlew 命令(Windows 用户直接执行 gradlew.bat 命令)。
  5. 在命令执行成功后使用 Android Studio 打开项目,如果你的 Android Studio 已经卡在 Building Project … ,强制结束 AS 进程。

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

给定的引用中未提及解决 Android Studio 打开项目后目录消失问题的方法。不过,通常可以尝试以下常见方法来解决此类问题: 1. **重新加载项目**:关闭 Android Studio,重新打开项目,有时简单的重新加载可以恢复目录显示。 2. **检查视图设置**:确保项目视图(Project View)没有被意外隐藏或切换到其他视图模式。可以通过点击 Android Studio 左侧边栏的视图切换按钮来检查。 3. **同步项目**:点击工具栏中的“Sync Project with Gradle Files”按钮,让 Android Studio 重新同步项目配置。 ```groovy // 这是 Gradle 配置文件示例 // 确保配置文件正确 apply plugin: 'com.android.application' android { compileSdkVersion 30 buildToolsVersion "30.0.3" defaultConfig { applicationId "com.example.myapp" minSdkVersion 21 targetSdkVersion 30 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } } dependencies { implementation 'androidx.appcompat:appcompat:1.3.1' implementation 'com.google.android.material:material:1.4.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.1' testImplementation 'junit:junit:4.+' androidTestImplementation 'androidx.test.ext:junit:1.1.3' androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' } ``` 4. **清除缓存并重启**:关闭 Android Studio,删除项目目录下的 `.gradle` 和 `.idea` 文件夹,然后重新打开项目。 5. **更新 Android Studio**:确保使用的是最新版本的 Android Studio,有时旧版本可能存在显示问题,更新到最新版本可能会解决问题
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值