ChatGPT解决这个技术问题 Extra ChatGPT

如何修复 Android Studio 在执行 Gradle 任务时卡住?

当我尝试构建/运行项目以及清理它时,Android Studio (Beta) 0.8.6 卡住了。它保持响应,但 Gradle: Executing Tasks 消息不会消失(超过 20 分钟是我放弃的时候),并且应用程序永远不会运行。

这是我尝试的:

使缓存无效/重新启动

强制退出并重新启动

从应用程序中删除它(在 Mac 上)并从官方网站重新下载。

https://i.stack.imgur.com/r70AL.png

试试这个,退出 Studio,打开终端,运行 ./gradlew tasks --debug
@bhargavg 我试过了,上面写着 -bash: ./gradlew: Permission denied
@bhargavg 转到 /path/to/sdk/tools 并运行 sudo chmod 777 gradlewsudo chmod 777 * 然后再次运行命令

E
Eric

通过转到 Android Studio -> 修复它Preferences -> Gradle ->并勾选 Offline work。仍然不知道出了什么问题,但至少现在它可以编译了。

编辑:在新的 Android Studio 版本中,路径是 File -> Other Settings -> Default Settings -> Build-Excecution-Deployment -> Gradle


还是很慢,差不多一分钟。
这个答案应该更新。 File->Settings->Build-Execution-Deployment->Gradle 是正确的位置。
无法在任何地方找到 gradle 选项 - File->Settings->Build-Execution-Deployment->Gradle and Android Studio -> Preferences -> Gradle
文件->设置->构建-执行-部署->BuildTools->Gradle
我的问题不同,请参阅我的答案。
C
Community

这个问题似乎很老,但以防万一有人需要。

全新安装 Ubuntu 14.04 之后,我最近遇到了这个问题。在谷歌一段时间后没有运气,我检查了终端,结果发现 libz.so.1 丢失了。所以我安装了它,像魅力一样工作。

此处安装说明:libz.so.1: cannot open shared object file


截至 2016 年 1 月,这是所需的解决方案。对于不想访问链接的懒人:sudo apt-get install zlib1g:i386
经过大量的实验,这行得通。这是有效的答案...谢谢
Mac OS X 呢?我有zlib,也有同样的问题。
在尝试了两天的许多解决方案后,终于成功了。万分感谢!
这适用于 ubuntu 16.06(安装 lib32z1)。 android studio 中的 Gradle 控制台实际上给出了 libz 丢失的信息,这是检查 gradle 问题的好地方。
B
Biswajit Karmakar

从设置启用离线工作

https://i.stack.imgur.com/FD306.png


当我第一次在更新的 Android Studio 2.2 Preview 1 上运行我的项目时,这对我有用。
t
tir38

发生这种情况的原因有很多。因此,这里没有给出确切的修复方法,而是采取一些步骤来帮助隔离原因。

从命令行运行 gradle 命令。它仍然失败吗? $ ./gradlew myTask 如果是这样,使用调试标志重新运行。有什么有用的信息吗? $ ./gradlew myTask --debug 如果它只是挂起,尝试获取堆栈跟踪。在转储文件中搜索 myTask $ jps -mv | grep Gradle <--- 一定要使用大写“G” 2290 GradleDaemon 3.3 -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Xmx2304M -Dfile.encoding=UTF-8 -Duser.country=US -Duser.language=en -Duser.variant $ jstack -l 2290 >> dump.txt <--- 你的进程 ID 会不同如果它只是在运行 Android Studio 时挂起,为 Android Studio 生成线程转储阅读更多here。


H
HsnVahedi

您必须在文件中添加执行模式:AndroidStudioProjects/YourProjectName/gradlew,以便 Android Studio 可以执行它。如果您在 linux 机器上使用此命令:chmod +x gradlew 运行此命令,您可能需要具有管理权限。在 Ubuntu 中,您可以使用 sudo chmod +x gradlew 来做到这一点


A
Alex

在我的情况下,看起来 gradle 在 64 位 Ubuntu 16.04 上缺少 32 位库。执行 sudo apt-get install libstdc++6:i386 解决了问题。


n
nurettin

在将 google play api 添加到依赖项后发生在我身上{}。 ./gradlew app:assembleDebug 显示类似于 Dex ID limit reached use multi-dex. 的错误,就像我按照 here 所述进行设置时,我决定删除我最近添加的依赖项,问题就消失了。

Google 还建议使用 proguard 作为一种技术来优化同一文档中的 Dex ID 数量。


a
alizeyn

对于 GNU/Linux 用户:

我将 SDK 从另一个存储复制到我的主目录。然后我得到了库存gradle build running。问题是 SDK 文件的权限。观察 gradle 控制台日志,如果你看到一些权限被拒绝的东西,然后执行以下操作 - 通过此命令授予所有文件执行权限:

chmod -R +x /path/to/android-sdk


a
a.p.

经过一番努力并遵循上面(以及类似帖子)发布的所有解决方案后,我终于发现我的 PC 上的问题是防病毒应用程序。我禁用了它,并且 gradle 刷新并快速构建,就像问题开始之前一样。

看起来我的防病毒软件最近开始阻止 gradle 从 Internet 更新/下载必要的信息,这就是导致延迟并最终导致加载和刷新项目超时的原因。每次都禁用防病毒软件可以解决问题。


同样在这里。挣扎于这篇文章的解决方案,但没有任何效果。幸运的是,偶然发现了这个答案。我公司的笔记本电脑安装了 McAfee,我必须禁用它的一些进程才能让 Gradle 完成构建过程。
J
Juan Pablo

我在 virtualbox 5.0.16 虚拟机和带有 Android Studio 2.0 的 gradle 版本 2.10 上安装了 centos 7 64 位

gradle 的日志文件位于 $HOME/.gradle/daemon/2.10 日志文件:daemon-<some number>.out.log

通过检查这个日志文件,我发现 aapt 没有找到 libz.so.1

尽管那个命令“locate libz.so.1”输出是

/usr/lib64/libz.so
/usr/lib64/libz.so.1
/usr/lib64/libz.so.1.2.7

aapt 无法找到它。

为了解决这个问题,我不得不执行

yum install zlib.i686

在那之后,Gradle 开始成为一种魅力。祝你好运!


M
Marc

我有类似的东西。

当我从命令运行 gradle 时,它会抛出这个异常

org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:compileDevDebugJavaWithJavac'.

在这条线等了大约 25 分钟后

:app:compileDevDebugJavaWithJavac

原来这与我使用的 android annotations 有关。我更换了

@UiThread 

我正在使用

activity.runOnUiThread(new Runnable(...

它开始编译得很好。这很奇怪,因为我在代码中的许多其他地方都使用了 @UiThread 注释。


S
Sebastian Schneider

就我而言,Gradle Builder(Android Studio 2.2、Windows 10)出现了这个错误

java.lang.RuntimeException:等待从属 aapt 进程超时,尝试将环境变量 SLAVE_AAPT_TIMEOUT 设置为大于 5 秒的值

解决方案只是将变量 SLAVE_AAPT_TIMEOUT 添加到我的 Windows 环境中,并将其设置为 30


F
Fabiano

我遇到了同样的问题,并解决了在系统变量中设置变量 SLAVE_AAPT_TIMEOUT 的值为 30。


P
Parker

我在 Windows 上,我遇到了同样的问题。

对我来说, gradlew 可执行文件不知何故被删除了,不知道如何删除。我在金丝雀上,我以前遇到过这个问题。

在 Android Studio 的终端窗口中,键入 gradlew,如果丢失,它将重新下载并安装它。 (我的旧解决方案是完全重新安装 Android Studio,所以这更容易)


A
Alexey Ivakhin

即使使用新的标准项目(Ubuntu 16.04),我也遇到了同样的问题。问题出在 Gradle 的第三方依赖项中。查看文件:~/.gradle/init.gradle 它可能包含 Gradle 无法加载的其他依赖项。可以在控制台看到不能加载的内容:./gradlew --debug


b
billjamesdev

如果您使用领域库并使用 RealmStudio 或 RealmBrowser 打开文件 .realm,请确保执行删除文件 .realm/lock 和文件夹 .realm.management。


Y
Yogesh Jangid

我认为 java.exe 是这个问题的原因。只需手动终止此应用程序并尝试。使用 Android Studio 3.0.1 对我来说真的很有效。


0
0101100101

就我而言,它卡在 mergeDebugResources 上,因为我不小心在字符串中有一个双转义的单引号 \\'。 Android Studio 不会将此标记为错误,而是会卡在构建中!