如何解决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
这可能有很多原因。 所以不是给出一个确切的解决办法,这里有一些步骤来帮助隔离原因。
-
从命令行运行gradle命令。 它仍然失败?
$ ./gradlew myTask
-
如果是这样,用debugging标志重新运行。 任何有用的信息?
$ ./gradlew myTask --debug
-
如果只是悬挂,请尝试获取堆栈跟踪。 search
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
-
如果仅在运行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可以每次纠正问题。