Could not move temporary workspace
在 StackOverflow、Reddit 上有不少同样错误的帖子,解决方案都是说降级 gradle 到 8.4,但是我的项目最低需要 8.6 的版本,因此无解
排查问题
重新建一个项目同样的依赖发现没有问题,说明不是 gradle 版本问题
找到报错中 gradle 无法替换的临时文件夹,尝试改名,提示被其他进程占用
使用资源监视器搜索此文件夹名称,找到占用的进程,实为 Android Studio 的 language_server_windows_x64.exe,如下图
任务管理器强制关闭进程后,可以重命名该文件夹,并且重新执行 gradle build 成功
language_server
Language Server Protocol 是 JB 系 IDE 的代码语言服务相关协议,例如代码补全、导航等,但也同时提供给插件。
因此,这个进程死锁占用临时文件有两种可能性:
- Android Studio 的 bug,目前我使用的 2023.3.1 以及 2023.3.1.Patch1 皆触发过
- 某个插件引起的 bug
由于在 Android Studio 中我所安装的插件基本与 IDEA 中一致,而 IDEA 没有出现过这个 bug,那么我更倾向于这是 Android Studio 的 bug,期待后续版本修复。