【问题标题】:How to fix Android Studio getting stuck executing Gradle tasks?如何修复 Android Studio 在执行 Gradle 任务时卡住?
【发布时间】:2014-10-27 01:43:05
【问题描述】:

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

这是我尝试的:

  • 使缓存无效/重新启动

  • 强制退出并重新启动

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

【问题讨论】:

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

标签: android android-studio


【解决方案1】:

通过转到 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
  • 我的问题不同,请看我的回答。
【解决方案2】:

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

全新安装 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 Console 实际上给出了 libz 丢失的信息,这是检查 gradle 问题的好地方。
【解决方案3】:

从设置中启用离线工作

【讨论】:

  • 当我第一次在更新的 Android Studio 2.2 Preview 1 上运行我的项目时,这对我有用。
【解决方案4】:

发生这种情况的原因有很多。因此,与其给出确切的解决方法,不如采取一些步骤来帮助找出原因。

  1. 从命令行运行 gradle 命令。还是失败了?

    $ ./gradlew myTask

  2. 如果是这样,请使用调试标志重新运行。有什么有用的信息吗?

    $ ./gradlew myTask --debug

  3. 如果它只是挂起,请尝试获取堆栈跟踪。在转储文件中搜索myTask

    $ jps -mv | grep Gradle  <--- be sure to use capital "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 <--- your process ID will be different
    
  4. 如果只是在运行 Android Studio 时挂起,则为 Android Studio 生成线程转储read more here

【讨论】:

    【解决方案5】:

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

    【讨论】:

      【解决方案6】:

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

      【讨论】:

        【解决方案7】:

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

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

        【讨论】:

          【解决方案8】:

          对于 GNU/Linux 用户:

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

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

          【讨论】:

            【解决方案9】:

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

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

            【讨论】:

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

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

            gradle的日志文件位于$HOME/.gradle/daemon/2.10 日志文件:daemon-&lt;some number&gt;.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 开始发挥魅力。 祝你好运!

            【讨论】:

              【解决方案11】:

              我有类似的东西。

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

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

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

              :app:compileDevDebugJavaWithJavac
              

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

              @UiThread 
              

              我用的是

              activity.runOnUiThread(new Runnable(...
              

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

              【讨论】:

                【解决方案12】:

                就我而言,Gradle Builder(Android Studio 2.2,Windows 10)收到此错误

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

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

                【讨论】:

                  【解决方案13】:

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

                  【讨论】:

                    【解决方案14】:

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

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

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

                    【讨论】:

                      【解决方案15】:

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

                      【讨论】:

                        【解决方案16】:

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

                        【讨论】:

                          【解决方案17】:

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

                          【讨论】:

                            【解决方案18】:

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

                            【讨论】:

                              猜你喜欢
                              • 1970-01-01
                              • 2014-02-06
                              • 1970-01-01
                              • 1970-01-01
                              • 1970-01-01
                              • 1970-01-01
                              • 1970-01-01
                              • 2015-10-18
                              • 2020-06-01
                              相关资源
                              最近更新 更多