如何解决Android Studio被卡住执行Gradle任务?

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

这是我所尝试的:

  • 使caching失效/重新启动

  • 强制退出并重新启动

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

在这里输入图像说明

通过转到Android Studio – > Preferences – > Gradle – >和Offline work 。 仍然不知道什么是错的,但至less现在编译。

编辑:在新的Android Studio版本的path是File – > Other Settings – > Default Settings – > Build-Excecution-Deployment – > Gradle

这个问题似乎很古老,但如果有人需要的话。

刚刚安装完Ubuntu 14.04之后,我刚刚遇到了这个问题。 谷歌后一段时间没有运气我检查了terminal,事实certificate, libz.so.1丢失。 所以我安装它,像魅力一样工作。

在这里安装指令: libz.so.1:无法打开共享目标文件

从设置启用离线工作

在这里输入图像说明

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

在我的情况下,看起来像在64位Ubuntu 16.04上,gradle丢失了32位库。 做sudo apt-get install libstdc++6:i386解决了这个问题。

添加谷歌播放api到依赖项后发生在我身上。 ./gradlew app:assembleDebug显示一个错误,说明像Dex ID limit reached use multi-dex. 就像我在这里描述的那样,我决定去掉最近添加的依赖关系,问题就没有了。

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

对于GNU / Linux用户:

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

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

这可能有很多原因。 所以不是给出一个确切的解决办法,这里有一些步骤来帮助隔离原因。

  1. 从命令行运行gradle命令。 它仍然失败?

    $ ./gradlew myTask

  2. 如果是这样,用debugging标志重新运行。 任何有用的信息?

    $ ./gradlew myTask --debug

  3. 如果只是悬挂,请尝试获取堆栈跟踪。 searchmyTask的转储文件

     $ 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生成线程转储。

我已经安装了virtualbox 5.0.16虚拟机上的centos 7 64位,Android Studio 2.0安装了Gradle 2.10版本

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

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

尽pipe命令“locate libz.so.1”的输出是

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

aapt没能find它。

为了解决我不得不执行的问题

 yum install zlib.i686 

之后,Gradle开始作为一个魅力工作。 祝你好运!

我有类似的东西。

当我从命令中运行gradle时就会抛出这个exception

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

在这条线等了25分钟之后

 :app:compileDevDebugJavaWithJavac 

事实certificate,这与我使用的android注释有关 。 我replace了

 @UiThread 

我正在使用

 activity.runOnUiThread(new Runnable(... 

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

在我的情况下,我是由Gradle Builder(Android Studio 2.2,Windows 10)得到这个错误,

java.lang.RuntimeException :在等待slave aapt进程时超时,尝试将环境variablesSLAVE_AAPT_TIMEOUT设置为大于5秒的值

该解决scheme只是将variablesSLAVE_AAPT_TIMEOUT添加到我的Windows环境,并将其设置为30

我遇到了同样的问题,并使用值30解决了系统variables中设置variablesSLAVE_AAPT_TIMEOUT的问题。

我在Windows上,和我有同样的问题。

对我来说,gradlew可执行文件不知何故被删除,不知道如何。 我在加那利岛,之前有过这个问题。

在Android Studio的terminal窗口中inputgradlew ,如果缺失,将会重新下载并安装。 (我以前的解决scheme是完全重新安装Android Studio,所以这很容易)

经过了很多的努力,并遵循上面发布的所有解决scheme(和类似的post),我终于发现,我的电脑上的问题是防病毒应用程序。 我禁用了它,并且像问题出现之前一样,更快地build立了新的build筑。

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