ChatGPT解决这个技术问题 Extra ChatGPT

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

在将 Android Studio 更新到 2.2 版(在 Windows 10 上)之后,不知何故,第二天早上,当 gradle 在任何项目上构建时,我收到了这样的错误:

仅允许从事件调度线程进行写访问

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

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

仅将 SDK 放在 Andoid Studio 中。

U
Uwe Keim

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


对我来说效果很好!非常感谢!
完美答案!立即工作。就在我阅读此答案后单击打开项目结构时,项目结构对话框本身在对话框底部显示一条消息,指出“请选择有效的 JDK 目录”,并附有一个导航按钮,单击该按钮导航到 JDK位置文本框也是如此。我目前在我的 Ubuntu 上使用 Android Studio 3.1.3。谢谢!
N
Null Pointer Exception

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


J
Jon

这对我不起作用,我运行了“gradle clean build”命令,我发现 gradle 中的一行存在冲突,将其删除并同步项目(as in this pic

https://i.stack.imgur.com/CZsv5.png


这对我来说是解决这个问题的方法,它可能会帮助其他有相同问题的人
M
Matthew Mullin

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

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

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

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


A
Andy Luis

https://i.stack.imgur.com/RttmM.jpg