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


120

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

仅事件分配线程允许写访问

尽管如此,gradlew -build命令仍然可以成功完成。我尝试了WTF修复集的典型Android开发人员:清理构建,使缓存无效,删除构建文件夹,删除.gradle文件夹,尝试使用不同的gradle设置,甚至重新安装Android Studio,也无济于事。

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


只能将SDK放在Andoid Studio中。
Ja Mal Ch '18年

Answers:


413

因此,该问题的结论是Android Studio与我安装的JDK版本冲突,因此当我检查JDK位置(文件→项目结构→SDK位置),勾选“使用嵌入式JDK”复选框并将JDK位置设置为“路径到Android Studio'\ Android Studio \ jre


1
对我来说很好!非常感谢!
waseefakhtar

1
完美的答案!立即工作。当我在阅读此答案后单击打开项目结构时,“项目结构”对话框本身在对话框底部显示了一条消息,指出“请选择一个有效的JDK目录”,并带有一个导航按钮,单击该导航到JDK。位置文本框。我目前在Ubuntu上使用Android Studio 3.1.3。谢谢!
sam,

11

当android studio与已安装的jdk版本发生冲突时,出现问题,转到(文件->项目结构-> SDK位置),选中'使用嵌入式JDK'复选框,并将jdk位置设置为'android studio的路径'\ Android Studio \ jre :)简单


1

那对我不起作用,我运行了“ gradle clean build”命令,我发现gradle的一行中有冲突,将其删除并同步项目(如此图所示

在此处输入图片说明


1
这对我来说是有效的,它可能会对其他有相同问题的人提供帮助
Ryuzaki

0

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

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

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

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


-1

在Android Studio 3.2.1中,转到“文件”->“项目结构”->“ SDK位置”,然后选中“使用嵌入式JDK(推荐)”复选框。 在此处输入图片说明

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.