Gradle错误:在Android Studio中只允许从事件分派线程进行写访问。

122

在将Android Studio更新到2.2版本(在Windows 10上),第二天早上,我在任何项目的gradle构建时都收到了以下错误:

只允许从事件分派线程进行写访问

尽管gradlew -build命令工作并成功完成,但我尝试了典型的Android开发人员修复方法:清除构建、无效缓存、删除构建文件夹、删除.gradle文件夹、尝试不同的gradle设置,甚至重新安装Android Studio都没有帮助。

我创建了这个问题,只是为了与社区分享我的经验,因为我浪费了两个小时。


将SDK仅放置在Android Studio中。 - Ja Mal Ch
5个回答

415

问题的结论是Android Studio与我的安装的JDK版本冲突了,所以当我检查了JDK的位置(文件→项目结构→SDK位置),选中了“使用嵌入式JDK”复选框,并将JDK位置设置为“路径到Android Studio”\Android Studio\jre时,问题得到了解决。


2
对我很有帮助!非常感谢! - waseefakhtar
1
完美的答案!立即生效。当我点击打开项目结构并阅读此答案时,项目结构对话框本身在对话框底部显示了一条消息,指出“请选择有效的JDK目录”,并附有一个导航按钮,点击后导航到JDK位置文本框。我目前在Ubuntu上使用Android Studio 3.1.3。谢谢! - vss

11

当Android Studio与已安装的JDK版本冲突时,会出现问题。前往(文件->项目结构->SDK位置),勾选“使用嵌入的JDK”复选框,并将JDK位置设置为“路径到Android Studio \ jre :)”即可。简单易行。


1

对我没用,我使用了“gradle clean build”命令,发现在gradle的一行中存在冲突,将其删除并同步项目(如图所示)。

enter image description here


1
这是我在这个问题上的解决方案,它可能会帮助其他遇到相同问题的人。 - Ryuzaki

0

我的问题是在清理硬盘空间时,我删除了正在使用的SDK。

要解决此问题,首先检查您已安装了哪些SDK,或在“工具”>“SDK管理器”中安装其中一个。

然后,您可以将app build.gradle中的compileSdkVersion和targetSdkVersion更改为已安装的sdk版本。

否则,您可以重新安装您正在使用的任何sdk。


-1
在Android Studio 3.2.1中,转到文件->项目结构->SDK位置,并选中复选框“使用嵌入式JDK(推荐)”。输入图像描述

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接